oli*_*oli 13 php file-upload zend-form
在我的表单中,我定义了这个文件上传字段:
$this->setEnctype(Zend_Form::ENCTYPE_MULTIPART);
$logo = $this->createElement('file', 'logo');
$logo->setLabel('Group logo')
->setMaxFileSize(5242880) // 5mb
->addValidator('IsImage')
->addValidator('Count', false, 1)
->addValidator('Size', false, 5242880)
->addValidator('Extension', false, array('jpg', 'jpeg', 'png', 'gif'));
Run Code Online (Sandbox Code Playgroud)
但是,无论我上传的文件有多小,我都会收到此错误:文件"徽标"超出了定义的ini大小.
错误消息似乎非常简单,所以我检查了php配置(phpinfo()在处理表单的同一页上)
虽然这些值并不完全有意义,但它们绝对应该允许我上传高达8Mb的文件,但上传始终会因上面的消息而失效.即使小于1Kb的文件也会失败.我也尝试删除所有setter /验证器,但它仍然失败.
在寻找答案时,我遇到了一些帖子,说这是ajax'的错,但这是一个常规形式,所以现在我被卡住了.
更新:我非常抱歉浪费了你的时间,页面上有另一个未公开的表格,这使得多部分声明无效.如果我用较大的文件测试而不是小文件,可以早点发现:/
您的尺寸验证器不正确。您应该使用这种格式:
->addValidator('Size', false, array('max' => '5242880'))
Run Code Online (Sandbox Code Playgroud)
您的验证器检查文件的大小 == 5242880,而不是 <= 5242880。
| 归档时间: |
|
| 查看次数: |
18419 次 |
| 最近记录: |