Réponses:
$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']);
Je ne sais pas si vous utilisez Drupal 6 ou Drupal 7, mais dans Drupal 6, vous choisiriez:
Admin > Contenu > Types de contenu > [Votre type de contenu]> Gérer les champs > [Modifier votre champ de fichier] et recherchez le paramètre de champ "Extensions de fichier de téléchargement autorisées"
Dans ce champ, entrez zip
Drupal 7 est probablement similaire. Recherchez les types de contenu sous Admin > Structure .