3

Zend_Form_Element_Fileの場合、サイズバリデーターを追加することとsetMaxFileSizeを使用することの間に違いはありますか?

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

$file->setMaxFileSize(1000000);
4

1 に答える 1

5

setMaxFileSize(1000000)は、クライアント側のサイズを制限します。つまり、特別なMAX_FILE_SIZEタグがhtmlに作成されます。例:

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

ただし、HTMLを変更するのは簡単なので、これはそれほど安全ではありません。とにかく、setMaxFileSizeを指定しない場合、ZFはphp.iniのupload_max_filesizeの値と等しい値で自動的に作成します。

HTMLの最大ファイルサイズの値を変更できないため、AddValidatorはより安全な検証を実行します。また、バリデーターを使用するときにカスタムエラーメッセージを指定できます。

于 2011-01-25T02:25:23.860 に答える