PHP表单$_FILES为空如何解决

小云云
小云云 原创
2023-03-21 15:30:02 3005浏览

本文主要和大家分享PHP表单$_FILES为空如何解决,在文件上传中$_FILES接收不到值的情况有很多种,总结一下常见的错误有下边几种,也是大家在使用中容易犯的错误。
1.在form中忘记加enctype="multipart/form-data"属性,这个是最常犯的错误;
2.忘记在php.ini中打开文件上传的功能file_uploads=on

一、form中忘记加enctype="multipart/form-data"

在学习html时大家都知道form是用来向服务器提交数据最常用的方式,而在很多数据提交时都会有文件的上传。当然文件流的上传需要一些特殊的处理。

<form action="" method="post" enctype="multipart/form-data">
......
</form>

为什么要加enctype="multipart/form-data"呢?这要来看看form中对于enctype属性的解释

描述
application/x-www-form-urlencoded在发送前编码所有字符(默认)
multipart/form-data

不对字符编码。

在使用包含文件上传控件的表单时,必须使用该值。

text/plain空格转换为 "+" 加号,但不对特殊字符编码。

所以在文件上传时必须加multipart/form-data

二、在php.ini中必须开启file_uploads=on

该选项的作用是配置是否允许上传文件。如果设置为off则不允许上传文件所以就接收不到$_FILES的值,所以如果要做文件上传则必须开启。

这个参数是在PHP的配置文件php.ini中。

相关推荐:

PHP中$_FILES函数细说

php $_FILES的使用方法

php文件上传-配置php.ini文件以及预定义变量$_FILES

以上就是PHP表单$_FILES为空如何解决的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。