Removing a field from the new content form
Three good options:


Display Suite has a feature to hide fields from the form
You can use hook_form_node_form_alter to remove the field


Edit: per Clive's suggestion, set ['#access'] = FALSE instead of unset($form['field_zip_file'])

Create a new module, (create MY_MODULE.info, MY_MODULE.module), and add this to MY_MODULE.module:

&lt;?php

  function MY_MODULE_form_node_form_alter (&amp;$form, &amp;$form_state, $form_id) {
    if ($form['#node']-&gt;type == 'my_content_type') {
      if ($form['nid']['#value'] == '') {
        $form['field_zip_file']['#access'] = FALSE;
      }
    }
  }



Use CSS to make it disappear:


Add this to your theme's CSS file:

body.page-node-add #edit-field-zip-file {
  display: none;
}