对于Zend_Form_Element_File,添加Size验证器和使用setMaxFileSize之间有什么区别吗?
$file->addValidator('Size', false, 1000000);
$file->setMaxFileSize(1000000);
答案 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中的最大文件大小值。您还可以在使用验证程序时指定自定义错误消息。