php 获取不到$_file常见原因

本文详细记录了解决PHP大文件上传过程中遇到的upload_max_filesize和post_max_size配置问题,通过调整这两个参数成功实现了大文件上传。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      今天在做for表单上传的时候出现一个奇怪的问题,表单提交获取不到了,连普通的字段都获取不到了,因为做了文件上传所以去看了for表单有没有加enctype="multipart/form-data"属性,发现也加了,后来又去php.ini中打开文件上传的功能file_uploads=on发现也是开启的,苦思冥想调试了半天还是不行,后面想到自己做的另外一个项目也是上传图片的那个是可以获取到数据的,就去看了一下,发现代码也没什么区别,拿到这边还是行不通,后面就去了php.ini里面看配置看是不是有什么不对,看到了upload_max_filesize =2M(即文件上传的大小为2M)因为我上传文件超过2M,我把upload_max_filesize =2M改了upload_max_filesize =64M,重启服务器,发现还是不行,后面想了一下是不是表单提交的时候还有限制,后面有趣php.ini里面找到post_max_size=8M,(其代表允许POST的数据最大字节长度,默 认为8M),修改为post_max_size=64M,重启服务,发现可以了。
      总结:php.ini配置文件中的默认文件上传大小为2M,默认upload_max_filesize = 2M,即文件上传的大小为2M,如果你想上传超过8M的文件,如30M,你必须配置upload_max_filesize = 30M。但是光设置upload_max_filesize = 30M还是无法实现文件的上传功能,你必须修改php.ini配置文件中的post_max_size选项,其代表允许POST的数据最大字节长度,默 认为8M,所以还要设置post_max_size=30M。如果POST数据超出限制,那么$_POST和$_FILES将会为空。要上传大文件,你必须设定该选项值大于或等于 upload_max_filesize指令的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值