文件上传:大小验证器或setMaxFileSize()

jbl*_*lue 3 php zend-framework zend-form zend-form-element

对于Zend_Form_Element_File,添加Size验证器和使用setMaxFileSize之间有什么区别吗?

$file->addValidator('Size', false, 1000000);

$file->setMaxFileSize(1000000);
Run Code Online (Sandbox Code Playgroud)

Mar*_*cin 5

setMaxFileSize(1000000)将限制客户端的大小,即将在html中创建特殊的MAX_FILE_SIZE标记,例如:

 <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
Run Code Online (Sandbox Code Playgroud)

然而,这并不是那么安全,因为它很容易改变你的HTML.无论如何,如果你不指定setMaxFileSize,ZF将自动值等于的upload_max_filesize在php.ini中你的价值创造它.

AddValidator执行更安全的验证,因为您无法更改html中的最大文件大小值.您还可以在使用验证程序时指定自定义错误消息.