Php 为什么$\u FILES数组为空,而$\u POST却显示出来?

Php 为什么$\u FILES数组为空,而$\u POST却显示出来?,php,arrays,file,upload,superglobals,Php,Arrays,File,Upload,Superglobals,上载文件(例如tipsfedora.png)时,我会在$\u POST数组中获取该文件,但$\u files数组中没有任何文件。任何帮助都将不胜感激。完整代码已发布。我想使用带有防弹图像上载的文件,但问题是$\u文件是一个空数组。您忘了添加 <?php var_dump($_POST); var_dump($_FILES); ?> <!doctype html> <form id="register_form" method="post"> <inp

上载文件(例如tipsfedora.png)时,我会在$\u POST数组中获取该文件,但$\u files数组中没有任何文件。任何帮助都将不胜感激。完整代码已发布。我想使用带有防弹图像上载的文件,但问题是$\u文件是一个空数组。

您忘了添加

<?php
var_dump($_POST);
var_dump($_FILES);
?>
<!doctype html>
<form id="register_form" method="post">
  <input type="hidden" name="MAX_FILE_SIZE" value="4194304" />
 <input type="file" name="file_upload" accept="image/*" /><br>
 <input type="submit" value="Upload" id="submit_button">
</form>

标签

$\u文件
包含上载文件的内容。但是实际上您没有上传任何文件,因为表单没有
enctype
属性。需要启用文件上载

但即使您没有上传任何文件,
$\u POST
也包含文件名

解决方案?只需将
enctype=“multipart/form data”
添加到
中即可


about
enctype
可能会对您有所帮助。

您为什么要回显var\u转储?var_转储返回无效。@KodleeYin这是我的一个坏习惯。很抱歉
enctype="multipart/form-data"