码迷,mamicode.com
首页 > Web开发 > 详细

php 上传大文件主要涉及配置upload_max_filesize和post_max_size两个选项

时间:2016-06-08 18:42:25      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:

 

 

php 上传大文件主要涉及配置 upload_max_filesize post_max_size两个选项
 
今天在做上传的时候出现一个非常怪的问题,有时候表单提交可以获取到值,有时候就获取不到了,连普通的字段都获取不到了,苦思冥想还没解决,最后问了师傅,
师傅看了说挺奇怪的,然后问我 upload_max_filesize的值改了吗,我说改了啊,师傅也解决不了了。过了一会师傅问 post_max_size改了吗,我说那个和上传没关系吧,
师傅没理我,我还是照着自己的想法继续测试,弄了半天还是不行,最后试了师傅提的意见,成功了,原来上传是和 post_max_size有关系的。
 
 
总结 :
php.ini配置文件中的默认文件上传大小为 2M,默认upload_max_filesize = 2M ,即文件上传的大小为 2M,如果你想上传超过8M的文件,比如 20M
 
你必须设定 upload_max_filesize = 20M。但是光设置upload_max_filesize = 20M还是无法实现大文件的上传功能,你必须修改 php.ini配置文件中的post_max_size选项,
其代表允许 POST的数据最大字节长度,默认为 8M。如果POST 数据超出限制,那么 $_POST$_FILES 将会为空。要上传大文件,
你必须设定该选项值大于 upload_max_filesize指令的值,我一般设定upload_max_filesize post_max_size值相等。
另外如果启用了内存限制,那么该值应当小于 memory_limit选项的值。
 
 
文件上传的其他注意事项 :
在上传大文件时,你会有上传速度慢的感觉,当超过一定的时间,会报脚本执行超过 30秒的错误,这是因为在php.ini配置文件中 max_execution_time 配置选项在作怪,
其表示每个脚本最大允许执行时间 () 0 表示没有限制。你可以适当调整 max_execution_time的值,不推荐设定为0
 
********************************************************************************************************
解释:
具体可查看 PHP手册 中的 〔php.ini 核心配置选项说明〕
upload_max_filesize 所上传的文件的最大大小。 
post_max_size       设定 POST 数据所允许的最大大小。
memory_limit        设定了一个脚本所能够申请到的最大内存字节数。

一般来说:memory_limit > post_max_size > upload_max_filesize
 
 
upload_max_filesize是限制本次上传的最大值
post_max_size是post数据的最大值, 通过POST提交数据的最大值
一般我们在php中用的是POST方式上传
 
 
 
 

php 上传大文件主要涉及配置upload_max_filesize和post_max_size两个选项

标签:

原文地址:http://www.cnblogs.com/kevingrace/p/5570697.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!