您的位置:首页 > 编程语言 > PHP开发

【推荐】PHP上传文件大小限制大全

2013-09-05 15:08 225 查看
在php.ini里面可以设置最大上传文件大小

解决方法:

第一:

在php.ini里面查看如下行:

1
upload_max_filesize
 = 8M
2
post_max_size
 = 10M
3
memory_limit
 = 20M
另外要确认上传的 <form> 里类似下面的这行

1
<
input
type
=
"hidden"
name
=
"MAX_FILE_SIZE"
value
=
"500000"
>
第二:

如果是apache 2 需要修改

1
/etc/httpd/conf.d/php.conf
中的LimitRequestBody 524288将524288(=512×1024)改大,比如5M(=5×1024×1024)



另外:PHP的最大执行时间也是可能影响的因素。

也可通过php文件临时设置,代码如下:

1
<?php
2
ini_set
(
'max_execution_time'
,
'600'
);
3
ini_set
(
'post_max_size
 '
,
'100M'
);
//
 好像设置不成功,不起作用
4
ini_set
(
'upload_max_filesize'
,
'200M'
);
//
 好像设置不成功,不起作用
5
?>
打开php.ini,首先找到

;;;;;;;;;;;;;;;;

; File Uploads ;

;;;;;;;;;;;;;;;;

区域,有影响文件上传的以下几个参数:

file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开
upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
upload_max_filesize = 200m ;望文生意,即允许上传文件大小的最大值。默认为2M



;;;;;;;;;;;;;;;;;

; Data Handling ;

;;;;;;;;;;;;;;;;;

区域,还有一项:

post_max_size = 100m ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M

一般地,设置好上述四个参数后,上传<=8M的文件是不成问题,在网络正常的情况下。

但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得关心关心下面的参数:

;;;;;;;;;;;;;;;;;;;

; Resource Limits ;

;;;;;;;;;;;;;;;;;;;

max_execution_time = 600 ;每个PHP页面运行的最大时间值(秒),默认30秒
max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒
memory_limit = 8m ;每个PHP页面所吃掉的最大内存,默认8M

把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了。

好了,设置好现在就可以一试。点击一200大M的文件上传一下

在你听歌、想MM或上厕所回来过程中,程序会告诉你上传成功啦~

在本机上测试上传200M的文件成功。





工作中的一次配置:

1
upload_max_filesize
300M
2
post_max_size  
350M
3
memory_limit   
400M
4
max_execution_time 
600
5
max_input_time 
600
补充说明:需要保持 memory_limit > post_max_size > upload_max_filesize
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: