我在Zend中创建了一个上传表单,它与uploadify结合使用以上传多个文件。
我一直得到的错误是;
File 'files' exceeds the defined ini size
我在网上发现这个错误的原因是由于没有设置enctype的形式。我已经将它设置为
enctype="multipart/form-data"
但我仍然得到错误。最奇怪的是,即使我没有选择要上传的文件,我仍然会收到错误?
任何想法?
答案 0 :(得分:0)
使用jQuery Form Plugin(http://jquery.malsup.com/form/)上传文件时出现同样的错误,但未选择任何文件。我不得不禁用此元素的验证。
答案 1 :(得分:0)
简单的ajax调用不允许您将文件发送到服务器,无论表单enctype是否为multipart。几天有类似的问题,并一直在寻找答案。提出了像Andrey Ovcharov提到的jQuery Form Plugin。但仍然在验证过程中失败了。诀窍是为ajaxSubmit方法添加几个附加选项:
, iframe:true
, url:your_ajax_url
此外,如果您希望文件元素是可选的 - 请确保您的元素是可选的。当使用多个文件时,在提交准备表单之前准备好通过循环这些项并检查$element->getFileName()
是否是有效字符串(保持简单len > 0
并有时检查不是数组)来进行验证。
我在测试时也离开了$element->setAllowEmpty(true);
。不确定是否非常重要,但是当它最终工作时 - 离开时,不会造成任何伤害:)
P.S。我知道,问题是2012y,但我自己正在努力使用可选文件上传和ajax调用的zend表单验证