为什么$ _FILES数组为空,但$ _POST显示?

时间:2014-07-12 02:07:02

标签: php arrays file upload superglobals

<?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>

上传文件时,例如tipsfedora.png,我在$ _POST数组中获取文件,但$ _FILES数组中没有文件。任何帮助,将不胜感激。完整代码已发布。我想使用带有bulletProof图像上传的文件,但问题是$ _FILES是一个空数组。

2 个答案:

答案 0 :(得分:3)

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

但即使您没有上传任何文件,$_POST也包含文件名。

解决方案?只需将enctype="multipart/form-data"添加到<form>

即可

关于enctype的{​​{3}}可能会对您有所帮助。

答案 1 :(得分:1)

您忘了添加

enctype="multipart/form-data"

<form>代码