私の要件は、特定のフォルダにファイルをアップロードすることです。フォームapiを使ってこれをどうすれば実現できますか? upload_locationを動的にするようなコードを変更するにはどうすればよいですか。アップロードされたファイルは、ユーザーが提供するフォルダ名に保存する必要があります。
#サブミット要素がcustom_document_submit関数を呼び出していません。Form 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);
}