如果我在验证规则中使用我的文件上传
array('taskfile', 'file', 'allowEmpty' => true, 'maxSize' => 1024 * 1024 * 1)
如果 maxSize < 文件大小 < max_pos 会显示正确的错误,但如果 maxSize < max_post_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 未处于调试模式,也会显示该错误。