Ich habe Probleme mit Drupal 7 und dem Hochladen von Dateien.Wie man Datei in Drupal 7 mit Formularen hochlädt?
Mein Code, das nicht funktioniert:
function test_form($form, &$form_state){
$form['#attributes'] = array('enctype' => "multipart/form-data");
$form['podcast'] = array(
'#title' => 'Audio file',
'#type' => 'file',
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
);
return $form;
}
function test_form_submit($form, &$form_state){
$vals = $form_state['values'];
$filepath = 'public://test/';
//$filepath = 'temporary://test/';
$filename = 'rcc_date.mp3';
file_prepare_directory($filepath, FILE_CREATE_DIRECTORY);
$file = file_save_upload('podcast', array('file_validate_extensions' => array()), $filepath.$filename);
//got FALSE here. Why?
die(print_r($file===FALSE).'-');
}
So erstellt Pfad aber Datei nicht Up- und file_save_upload FALSCH. Ich habe auch array() und true als $ validators ohne Wirkung versucht.
Jede Hilfe sehr geschätzt. Vielen Dank.
Wie wird der Dateiname dynamisch abgerufen? – Hitesh
Der Dateiname ist in diesem Code völlig unnötig. Lass es komplett aus. Setzen Sie die Variable $ filename nicht und hängen Sie sie nicht an $ filepath an. – Magmatic
Um ein leeres Array von Dateiprüfern zu verwenden, wie array ('file_validate_extensions' => array()), ist es unsicher und sollte nicht verwendet werden. Verwenden Sie stattdessen NULL, um den Standardwert zu übernehmen, oder erstellen Sie selbst eine echte Liste. Siehe den Hinweis in https://api.drupal.org/api/drupal/includes!file.inc/function/file_save_upload/7 – Magmatic