防止文件上传填充POST数组

时间:2012-05-22 09:12:32

标签: php codeigniter file-upload

上传文件粗俗的文件时,我收到以下PHP错误:

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

显然,filesize大于默认的PHP memory_limit,因为我不希望用户上传这么大的文件,但是它产生的错误并不好。

是否有一种方法可以抑制此错误并在页面后面显示我自己的格式化错误?

2 个答案:

答案 0 :(得分:1)

使用ini_set()。将xx替换为您需要的值。

<?php
  ini_set('memory_limit', 'xxM');   
  ini_set('post_max_size', 'xxM');   
  ini_set('upload_max_filesize', 'xxM');   
?>

答案 1 :(得分:0)

在CI文档中非常明确地指出使用max_size配置项来设置限制(以KB为单位)。如下所示:

$config['max_size'] = '100';
...
$this->load->library('upload', $config);

为什么这不起作用?

另外,请注意Apache设置中的post_max_size也可以上传。

从这里http://codeigniter.com/user_guide/libraries/file_uploading.html