php 上传大文件主要涉及upload_max_filesize和post_max_size两个选项
博客专区 > 庆沉 的博客 > 博客详情
php 上传大文件主要涉及upload_max_filesize和post_max_size两个选项
庆沉 发表于3年前
php 上传大文件主要涉及upload_max_filesize和post_max_size两个选项
  • 发表于 3年前
  • 阅读 874
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

现象:

今天在做上传的时候出现一个奇怪的问题,有时候表单提交可以获取到值,有时候就获取不到了,连普通的字段都获取不到了,苦思冥想还没解决,最后问了师傅,师傅看了说挺奇怪的,然后问我upload_max_filesize的值改了吗,我说改了啊,师傅也解决不了了。过了一会师傅问 post_max_size改了吗,我说那个和上传没关系吧,师傅没理我,我还是照着自己的想法继续测试,弄了半天还是不行,最后试了师傅提的意见,成功了,原来上传是和post_max_size有关系的。

在上传apk文件时,提示成功,但是到相应目录查看发现没有apk文件,然后如果上传小于2M的apk文件就可以,大于2M就不行,怀疑是哪儿需要改设置,然后查询一下发现,需要改php.ini配置文件中的upload_max_filesize和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。


共有 人打赏支持
粉丝 31
博文 201
码字总数 139220
×
庆沉
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: