1.检查form表单
1.1 是否添加enctype="multipart/form-data"属性,
1.2 是否使用post发送方式
2.1查看file_uploads属性是否为on
在命令模式下输入?file_uploads即可快速找到该属性;
2.2 查看upload_max_filesize设置,如果比php中设置的size尺寸小也会导致$_FILES为空,默认为2M,可以改为自己想要;
在php.ini里面查看如下行:
upload_max_filesize = 8M //上传限制
post_max_size = 10M // POST也限制
memory_limit = 20M //内存也限制
file_uploads = On //一样限制搞死你
upload_max_filesize = 2G //这也是限制
max_file_uploads = 2000 //这也是限制
把这些值改成我所说的,看看有没有问题,另外要确认上传的 <form> 里没有类似下面的这行
<input type="hidden" name="MAX_FILE_SIZE" value="500000">
这样也是限制上传大小用的。
以下可以参考
- file_uploads = on //是否允许通过HTTP上传文件的开关,默认开启
- upload_tmp_dir //临时文件储存的路径
- upload_max_filesize 20M //允许上传的文件最大值
- post_max_size 22M //通过表单POST所能上传的大小
- max_execution_time 600 //单个PHP页面允许运行的最大时间
- max_input_time 600 //单个PHP页面接收数据所需的最大时间,默认60秒 ,这里改成0就不受上传时间限制啦
- memory_limit 256M //单个PHP页面执行过程中可占用的最大内存,默认8M