Meine Anforderung besteht darin, Dateien in bestimmte Ordner hochzuladen. Wie erreiche ich das mit form api? Wie kann ich den folgenden Code ändern, so dass upload_location dynamisch sein sollte. Die hochgeladene Datei sollte in den vom Benutzer angegebenen Ordnernamen gespeichert werden.
#submit-Element ruft keine custom_document_submit-Funktion auf.Wie übergibt man den Speicherort für dynamische Dateien in der Formular-API?
$form['folder_name'] = array(
'#type' => 'textfield',
'#title' => t('Folder Name'),
);
$form['document'] = array(
'#type' => 'managed_file',
'#upload_validators' => array('file_validate_extensions' => array('xml')),
'#upload_location' => 'public://',
'#submit' => array('custom_document_submit'),
);
function custom_document_submit($form, &$form_state){
$destination = $form_state['values']['folder_name'];
$validators = array();
$file = file_save_upload('document', $validators, 'public://'.$destination);
}