奇怪的Zend_Form_Element文件行为

时间:2009-09-09 16:39:15

标签: zend-framework zend-form

我的表单中有以下元素:

$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大小但是我的帖子中没有包含任何文件上传,即使我这样做,它仍然会出现相同消息的错误。

有什么想法吗?

4 个答案:

答案 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;它将始终显示错误,因此请尝试实现完整的表单并避免放置表单元素。