Heim  >  Artikel  >  Backend-Entwicklung  >  PHP中表单没有问题但$_FILES为空怎么办?

PHP中表单没有问题但$_FILES为空怎么办?

PHPz
PHPzOriginal
2016-06-13 12:05:081696Durchsuche

PHP中表单没有问题,但“$_FILES”为空的解决方法:首先在form中加代码为“enctype="multipart/form-data”;然后开启“file_uploads”并设置“file_uploads=on”即可。

PHP中表单没有问题但$_FILES为空怎么办?

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中文网!!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn