Ich handle Datei-Upload-Feld in einem Formular mit Drupal 6 Formular-APIs. Das Dateifeld ist als erforderlich markiert. Ich mache die richtigen Schritte, um Dateien an den richtigen Stellen zu speichern und umzubenennen.Drupal 6 Datei Handhabung
Upload-Formular
$form = array();
....
$form['image'] = array(
'#type' => 'file',
'#title' => t('Upload photo'),
'#size' => 30,
'#required' => TRUE,
);
$form['#attributes'] = array('enctype' => "multipart/form-data");
...
Form Validate-Handler
$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;
}
auf Vordruck berichtet
Formular submiting immer einen Fehler Upload photo field is required.
obwohl Dateien hochgeladen werden immer. Wie geht man mit diesem Problem um?
Wie übergeben Sie Dateiinformationen an den Handler?