有些朋友经常问到为什么我把php.ini配置文件中的upload_max_filesize修改为100M了,怎么phpinfo页面还是显示最大上传是8M?如果你也遇到类似的错误,那么请留意下你当前的php.ini文件中的以下几个参数设置吧。PHP的文件上传大小限制受到php.ini以下这些设置的影响:
post_max_size //通过post方法给php时,php所能接受的最大数据容量(单位M)
upload_max_filesize //允许文件上传最大体积(单位M)
;upload_tmp_dir //临时文件的存储路径,linux下为系统默认路径,win32下需要指定
max_execution_time
memory_limit
用php上传文件,问题最多的就是上传大体积文件时出现错误。 在此配置文件中,有这么几个值是跟文件上传有密切关系的,如果你上传的文件体积在8m一下(通常情况),那修改以上设置就可以满足你的要求了。但要>8m,那除了上面几个值,还要特别关注另外两个值了:
memory_limit = 8M //每个script所能消耗的最大memory(单位M)
试着把这两个值改大些。一般就可以解决大多数问题了。
就此推断,上传文件的体积是可以无穷大的。但还要考虑你的网络情况,等等。在php.net上,有人说按照这个方法改了后,大于100m的文件还是会出错,这里就不知道是不是php自身的问题了。