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

时间:2011-01-25 01:52:48

标签: php zend-framework zend-form zend-form-element

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

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

$file->setMaxFileSize(1000000);

1 个答案:

答案 0 :(得分:5)

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

 <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />

然而,这并不是那么安全,因为很容易更改您的HTML。无论如何,如果你没有指定setMaxFileSize,ZF会自动创建它,其值等于你php.ini中upload_max_filesize的值。

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