使用Zend_Form_Element_File和HTML5的多个属性上传多个文件
问题描述:
我想用Zend_Form_Element_File
和HTML属性multiple
上传多个图像。设置元素直观的运行:使用Zend_Form_Element_File和HTML5的多个属性上传多个文件
$form->addElement(new Zend_Form_Element_File(
'images',
array('label' => 'Images:', 'multiple' => 'multiple')
));
当我在我的上传页面UND输入字段参考做$input->receive()
,而是只保存选定的文件之一。
当我搜索诸如“Zend_Form_Element_File多个文件”之类的东西时,我只得到显示使用Zend_Form_Element_File::setMultiFile()
的结果,这不是我正在寻找的结果。
有什么建议吗?
答
就找到了答案,以我自己的问题:
你必须设置“IsArray的”输入元素为true,无论是在构造元素(new Zend_Form_Input_File('images', array('isArray' => true))
)当选择阵列或通过IsArray的()方法($input->setIsArray(true)
)。
一些背景信息,以及如何我终于找到了这个解决方案:
首先,我意识到,我必须apend方括号中元素的名称为多文件上传的工作,例如, images[]
。我不知道这是HTML规范还是PHP需要的东西,但这就是它应该如何工作的情况。
我的下一个问题是,当我尝试使用name
属性设置它们时,Zend_Form_Element
删除了括号。最后,我偶然发现了answer by Matthew Weier O'Phinney:isArray
为你添加了[]
。
感谢您的支持!一直在寻找如何做至少一个小时! :) – jjmu15 2012-06-08 14:06:03