2009-09-09 29 views
8

我在表格下面的元素:奇Zend_Form_Element_File行爲

$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驗證中斷了消息文件'attachment'超出了定義的ini大小但是,我沒有在我的文章中包含任何文件上傳,即使我這樣做了,它仍然會出現錯誤消息。

任何想法?

回答

11

你在做正確的EncType嗎?它應該是'multipart/form-data'。如果不是,則文件元素的鍵可能不會被放入$ _FILES數組中,並且文件元素將解釋爲該文件太大而無法上傳到服務器。

+0

這是一個愚蠢的事情 - 在我的情況下:p – almaruf 2016-01-07 16:48:07

0

嗯,如果它說ini大小,你檢查了php.ini中的upload_max_filesize指令嗎?

+0

是的,它目前設置爲32兆。此外,這個錯誤發生在文件上傳時以及沒有選擇文件時 – Mark 2009-09-09 22:36:06

0

支票形式的看法,也許你正在部分地渲染的形式,儘量把這個表單的觀點:

<?=$this->form?> 

(這個工作對我來說)

0

只有形成的? >可以正常上傳任何文件。 但是當我們嘗試將部分表單設置爲:form-> file?時出現問題>

form-> file?>它總是會顯示錯誤,所以嘗試實現完整形式並避免放置表單元素。