我一直在关注Drupal doc中的表单示例10: http://api.drupal.org/api/examples/form_example!form_example.module/group/form_example/7
以下是我的表格的定义:
function portal_upload_form($form, $form_state) {
$form['file'] = array(
'#type' => 'file',
'#title' => t('Choose a file'),
);
$form['document_submit_button'] = array(
'#type' => 'submit',
'#value' => t('upload'),
);
return $form;
}
form_submit hook:
function portal_upload_form_submit($form, &$form_state) {
$file = $form_state['values']['file'];
// ...
尽管设置了具有777权限的输入文件,但$ file仍为“空”。我错过了一些东西而且找不到自己的东西......
谢谢! 学家
答案 0 :(得分:4)
不回答为什么表单没有提供文件/ url / ...的问题,但它解决了整个上传问题:
function portal_upload_form_submit($form, &$form_state) {
$file = $form_state['values']['file'];
$validators = array();
$file = file_save_upload('file', $validators, 'public://');
答案 1 :(得分:1)
以下是其他一些需要考虑的事项:
file_save_upload()仅验证内容类型的默认列表:jpg jpeg gif png txt doc xls pdf ppt pps odt ods odp
请务必以关联数组格式命名您的第一项,即'#name' => 'files[img_1]',
file_save_upload() documentation,请参阅第一条评论,了解我的第二点信息。