我想使用Zend_Form_Element_File
使用HTML属性multiple
上传多个图片。设置元素直观地工作:
$form->addElement(new Zend_Form_Element_File(
'images',
array('label' => 'Images:', 'multiple' => 'multiple')
));
当我在上传页面中获得对输入字段的引用并执行$input->receive()
时,它只保存一个所选文件。
当我搜索“Zend_Form_Element_File多个文件”之类的内容时,我只会得到显示使用Zend_Form_Element_File::setMultiFile()
的结果,这不是我正在寻找的内容。
有什么建议吗?
答案 0 :(得分:8)
刚刚找到了我自己的问题的答案:
在构造元素(new Zend_Form_Input_File('images', array('isArray' => true))
)时,或者通过isArray()方法($input->setIsArray(true)
),必须在输入元素上将'isArray'设置为true 强>
一些背景信息以及我最终如何找到这个解决方案:
首先,我意识到我必须将方括号添加到元素的名称,以便多个文件上传起作用,例如: images[]
。我不知道这是HTML规范还是PHP需要的东西,但这就是它在这种情况下应该如何工作。
我的下一个问题是当我尝试使用Zend_Form_Element
属性设置它们时,name
会删除括号。最后,我偶然发现answer by Matthew Weier O'Phinney自己:isArray
为您添加[]
。