cfanbo / cfanbo.github.io

1 stars 0 forks source link

php上传大文件注意事项 | 学习笔记 #227

Open cfanbo opened 11 months ago

cfanbo commented 11 months ago

https://blog.haohtml.com/archives/135/

最近用php传大文件的时候,总是传不上,起始只是看了一下php.ini里的max_post_size的值,默认是8M,一直没有搞清楚到底是怎么回事,后来在一篇文章上看到还有一个upload_max_filesize 参数,这时才明白怎么回事,结果把默认的2M改成8M,重新上传,结果ok,上传成功了! 以下是常见的一些上传附件时的一些问题,大家可以参考一下: 用php上传文件,问题最多的就是上传大体积文件时出现错误。 这就涉及到php的配置文件:php.ini 在此配置文件中,有这么几个值是跟文件上传有密切关系的: file_uploads = on //是否允许系统支持文件上传 ;upload_tmp_dir //临时文件的存储路径,linux下为系统默认路径,win32下需要指定 upload_max_filesize = 2m //允许文件上传最大体积 post_max_size = 2m //通过post方法给php时,php所能接受的最大数据容量 如果你上传的文件体积在8m一下(通常情况),那修改以上设置就可以满足你的要求了。。 但要 >8m,那除了上面几个值,还要特别关注另外两个值了: max_execution_time = 30 //每个script所执行的最大时间(php上传就时,体积大了,就是个时间问题) memory_limit = 8m //每个script所能消耗的最大memory 试着把这两个值改大些。一般就可以解决大多数问题了。 就此推断,上传文件的体积是可以无穷大的。但还要考虑你的网络情况,等等。 在php.net上,有人说按照这个方法改了后,大于100m的文件还是会出错。 不知道是不是php本身的问题了:( ————————————————————— 没问题!我做的网站,WEB管理平台中有影视上传栏目,在LAN中上传,最大的传过200M没问题。当然前提是前面的PHP.INI就像上面一样设置好 ————————————————————— PHP.INI里有设置 好象默认是8M吧 ————————————————————— 只要你设置正确,服务器有足够处理能力,网络没有任何丢包现象,支持续传,对上传字节没有上限 —————————————————————