PHP的-文件上传哈希给我一个问题,当大小大于最大大小
作者:互联网
我注意到一些奇怪的事情,并且想知道是否有人可以在我这边测试我的代码,并让我知道他们是否得到了同样的东西.
我有一个真正简单的表单(请参阅下面的完整表单代码和操作代码),只有一个文件上传隐藏的哈希提交按钮.文件上传的最大大小限制为10000000(约9.5MB).
当我尝试上传大于限制的文件时,该表单不应该进行验证,但是哈希令牌本身出现错误,该值是必需的,不能为空.有人可以确认吗?看起来令牌已被清除.我猜这可能在重定向之类的情况下发生,但是我没有进行任何重定向,除非在后台发生了我不注意的事情.
这是表格代码和我的操作代码
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中的post_max_size或upload_max_filesize值有关.例如,post_max_size的默认值为8M,小于您的最大文件大小.
标签:zend-form-element,zend-form,zend-framework,php 来源: https://codeday.me/bug/20191208/2094078.html