1

我想使用Zend_Form_Element_FileHTML 属性上传多张图片multiple。设置元素很直观:

$form->addElement(new Zend_Form_Element_File(
    'images',
    array('label' => 'Images:', 'multiple' => 'multiple')
));

当我在上传页面中获得对输入字段的引用并执行 a$input->receive()时,它只保存一个选定的文件。

当我搜索“Zend_Form_Element_File 多个文件”之类的内容时,我只得到显示使用的结果Zend_Form_Element_File::setMultiFile(),这不是我想要的。

有什么建议么?

4

1 回答 1

9

刚刚找到了我自己问题的答案:

您必须将输入元素上的 'isArray' 设置为 true,无论是在构造元素时的选项数组中 ( new Zend_Form_Input_File('images', array('isArray' => true))) 还是通过 isArray() 方法 ( $input->setIsArray(true))。

一些背景信息以及我最终如何找到此解决方案:

首先,我意识到我必须在元素名称后面加上方括号才能使多个文件上传工作,例如images[]. 我不知道这是 HTML 规范还是 PHP 需要的东西,但在这种情况下它应该是这样工作的。

我的下一个问题是Zend_Form_Element当我尝试使用name属性设置括号时会删除括号。最后,我偶然发现了Matthew Weier O'Phinney自己的答案:为你isArray附加[]

于 2012-04-06T12:37:32.277 回答