-1

ファイルをアップロードするための検証ルールで使用する場合

array('taskfile', 'file', 'allowEmpty' => true, 'maxSize' => 1024 * 1024 * 1)

maxSize < file size < max_pos の場合は正しいエラーが表示されますが、maxSize < max_post_size < file size の場合、エラー メッセージは表示されず、サイトの上部に php 警告が表示されます。

Warning: POST Content-Length of 41816263 bytes exceeds the limit of 15728640 bytes in Unknown on line 0

upload_max_filesize と post_max_size は php.ini で設定されます。独自の検証ルールでこの回避策も試しましたが、どちらも機能しません。

 public function checkMaxFileSize($attribute) {
    $max_post_size = 1024 * 1024 * ini_get('post_max_size');
    $file_is_too_big = ($_SERVER['CONTENT_LENGTH'] > $max_post_size) ? true : false;

    if ($file_is_too_big)
        $this->addError($attribute, "too big");

このエラーは、yii がデバッグ モードでない場合にも表示されます。

4

1 に答える 1

0

.htaccess ファイルで post_max_size/upload_max_filesize を設定してみてください

php_value post_max_size 10M
php_value upload_max_filesize 10M
于 2012-10-24T15:08:31.057 に答える