Je gère un champ de téléchargement de fichier dans un formulaire en utilisant les API de formulaire Drupal 6. Le champ de fichier est marqué requis. Je fais toutes les bonnes actions pour enregistrer et renommer les fichiers dans les emplacements appropriés.Gestion de fichiers Drupal 6
forme de téléchargement
$form = array();
....
$form['image'] = array(
'#type' => 'file',
'#title' => t('Upload photo'),
'#size' => 30,
'#required' => TRUE,
);
$form['#attributes'] = array('enctype' => "multipart/form-data");
...
forme validate gestionnaire
$image_field = 'image';
if (isset($_FILES['files']) && is_uploaded_file($_FILES['files']['tmp_name'][$image_field])) {
$file = file_save_upload($image_field);
if (!$file) {
form_set_error($image_field, t('Error uploading file'));
return;
}
$files_dir = file_directory_path();
$contest_dir = 'contest';
if(!file_exists($files_dir . '/' . $contest_dir) || !is_dir($files_dir . '/' . $contest_dir))
mkdir($files_dir . '/' . $contest_dir);
//HOW TO PASS $file OBJECT TO SUBMIT HANDLER
$form_state['values'][$image_field] = $file;
file_move($form_state['values'][$image_field], $files_dir."/" . $contest_dir . "/contest-". $values['email']. "-" . $file->filename);
}
else {
form_set_error($image_field, 'Error uploading file.');
return;
}
Sur la forme submiting
formulaire signale toujours une erreur Upload photo field is required.
bien que les fichiers sont téléchargés se. Comment faire face à ce problème? Comment transmettre des informations de fichier à un gestionnaire de soumission?