回答:
$form['picture']['file'] = array(
'#type' => 'managed_file',
'#title' => t('picture'),
'#description' => t('Allowed extensions: gif png jpg jpeg'),
'#default_value' => (isset($foo->picture->fid) ? $foo->picture->fid : ''),
'#upload_location' => variable_get('picture_upload_location'),
'#upload_validators' => array(
'file_validate_extensions' => array('gif png jpg jpeg'),
// Pass the maximum file size in bytes
'file_validate_size' => array(MAX_FILE_SIZE*1024*1024),
),
);
$file = file_save_upload('file', $form['picture']['file']['#upload_validators']);
Drupal 6とDrupal 7のどちらを使用しているかはわかりませんが、Drupal 6では次を選択します。
管理者 > コンテンツ > コンテンツタイプ > [コンテンツタイプ]> [フィールドの管理 ]> [ファイルフィールドの編集]で、「許可されたアップロードファイル拡張子」のフィールド設定を探します
そのフィールドにzipと入力します
Drupal 7もおそらく似ています。探しコンテンツタイプの下の管理 > 構造。