Drupal 6 hook_form_FORM_ID_alter添加上传文件字段

时间:2009-10-27 11:50:54

标签: drupal drupal-6

我正在尝试扩展表单并在模块中添加上传文件字段,我可以看到文件字段很好,但是当我提交表单时,它是空的,设置了enctype。

  $form['#attributes'] = array(
    'enctype' => "multipart/form-data"
  );

  $form['file_upload'] = array(
    '#type' => 'file',
    '#title' => 'Attach Image'
  );

自定义表单提交挂钩:

$form['#submit'][] = 'user_images_handler';
正在调用

,但是当我转储表单时,文件字段为空,当我尝试访问它时,它也是空的。

2 个答案:

答案 0 :(得分:2)

文件上传的特殊之处在于,“提交的”(上传的)数据不会以表格形式结束,而是需要单独处理(上传不是表单提交的一部分,而是单独的传输过程)。

请参阅docs for file_save_upload(),例如,看看它是used on form submission usage from within the upload module

基本上,您只是通过使用上传字段的名称(以及其他一些参数)调用file_save_upload()来尝试保存上传,并检查此尝试的结果。

答案 1 :(得分:0)

嗯,我试过了,它没有用......它仍然说上传字段是空的。 我在提交函数中有一个调试print语句,但是它没有打印,所以我认为它甚至没有进入提交函数。

你想把file_save_upload()调用放在哪里?

注意,我的表单名为mmil_upload_form ( $form_state ),提交函数名为function mmil_upload_form_submit ( $form, &$form_state )