3
我注意到一些奇怪的事情,想知道是否有人能站在他們一邊測試我的代碼,讓我知道,如果他們得到同樣的事情越大。文件上傳+哈希給了我一個問題,當尺寸比最大尺寸
我有一個真正簡單的表格(見完整形式的代碼和動作代碼如下),它只有一個文件上傳+哈希隱藏+提交按鈕。文件上傳的最大大小限制設置爲10000000(約9.5MB)。
當我嘗試上傳大於限制的文件時,表單不應該進行驗證,但是我在哈希令牌本身Value is required and can't be empty
中收到錯誤。有人可以確認嗎?它看起來像令牌正在被消滅。我猜這可能發生在重定向或其他情況下,但我沒有做任何重定向,除非在背景中發生了一些我沒有注意到的事情。
這裏的表單代碼和我的動作代碼
class Application_Form_TestForm extends Zend_Form
{
public function init()
{
$file = new Zend_Form_Element_File('file');
$file->setDestination(APPLICATION_PATH);
$file->addValidator('Size', false, 10000000);
$file->setMaxFileSize(10000000);
$this->addElement($file);
$hash = new Zend_Form_Element_Hash('hash');
$hash->setIgnore(true)
->setSalt('mysalt');
$this->addElement($hash);
$submit = new Zend_Form_Element_Submit('submit');
$submit->setLabel('Test')
->setIgnore(true);
$this->addElement($submit);
$this->setAttrib('enctype', 'multipart/form-data');
$this->setMethod('post');
}
}
在我的控制,我做平常驗證
public function indexAction()
{
$form = new Application_Form_TestForm();
$this->view->form = $form;
if($this->_request->isPost()){
echo "post";
if($form->isValid($this->_request->getPost())){
echo " valid";
}
}
}
你便又是。在我的php.ini中,這兩個值都是64MB。當我上傳的形式最大(9.5)和PHP最大(64)之間的文件,我得到了'文件超過size`錯誤,但是當我去了PHP的最大值(64)我得到這個與令牌奇怪的錯誤。所以我的下一個問題是:我仍然不明白爲什麼文件大小與散列元素有關。在背景中是否有重定向? – jblue 2011-01-25 03:26:10