我的表单中有以下元素:
$attachment = new Zend_Form_Element_File('attachment');
$attachment->setLabel('Attach File (2MB Max)');
$attachment->addValidator('Count', false, 1);
$attachment->addValidator('Size', false, 2048000);
如果我在视图中打印整个表单,此字段可以正常工作。但是我有一些我用于显示的非常自定义的HTML,所以我在我的视图中回显出这样的每个表单元素:
<?=$this->form->attachment?>
这适用于其他领域。但是对于此文件字段。 Zend_Form验证中断消息文件'附件'超出定义的ini大小但是我的帖子中没有包含任何文件上传,即使我这样做,它仍然会出现相同消息的错误。
有什么想法吗?
答案 0 :(得分:11)
你做的是正确的EncType吗?它应该是'multipart / form-data'。如果不是,则文件元素的键可能不会被放入$ _FILES数组中,而文件元素会解释该文件太大而无法上传到服务器。
答案 1 :(得分:0)
如果它显示ini大小,那么你在php.ini中检查了upload_max_filesize指令吗?
答案 2 :(得分:0)
检查表单的视图,也许您正在部分呈现表单,尝试将其放在表单的视图中:
<?=$this->form?>
(这对我有用)
答案 3 :(得分:0)
仅表格?&gt;上传任何文件都能正常工作。 但是当我们尝试将部分格式设置为:form-&gt; file?&gt;
时会出现问题form-&gt; file?&gt;它将始终显示错误,因此请尝试实现完整的表单并避免放置表单元素。