使用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'PhinneyisArray为你添加了[]

+0

感谢您的支持!一直在寻找如何做至少一个小时! :) – jjmu15 2012-06-08 14:06:03