回声$_FILES未给出结果


Echo $_FILES giving no results

我正在学习如何上传一个简单的文件。

代码如下:

<form action="upload.php" method="post">
 <input type="file" multiple="multiple" name="files[]" 
    enctype="multipart/form-data"><br><br>
  <input type="submit" value="upload">
</form>
<?php
    echo $_FILES["files"]['name']
?php

由于某种原因,我得到了0个结果,我不知道为什么。我知道当我上传更多的文件时,最好用foreach循环来遍历它们,但为了简单起见,我宁愿先得到1个文件的结果。

你需要像这个一样更正你的html

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

然后在upload.php中:

print_r($_FILES);

使用代替echo

print_r($_FILES)

也尝试添加到下方的表单标签代码

enctype="multipart/form-data"

我假设HTML表单和PHP上传代码都是在upload.PHP文件中编写的。如果我错了,请纠正我。

将表单HTML更改为:

<form action="" enctype="multipart/form-data" method="post"> <!-- Form action can be omitted. enctype attribute is needed -->
   <input type="file" multiple="multiple" name="files[]"/>
   <br/><br/>
   <input type="submit" value="upload" name ="submit" /> <!-- Add name here -->
</form>

修改您的PHP代码:

<?php 
   if (isset($_POST['submit'])) {
       echo "<pre>";
       print_r($_FILES);
   }
?>

希望这能有所帮助。

和平!xD

正确的html为:

<form action="upload.php" enctype="multipart/form-data" method="post">
   <input type="file" multiple="multiple" name="files[]"/>
   <br/><br/>
   <input type="submit" value="upload"/>
</form>

它必须工作

您也可以尝试:

var_dump($_FILES);
print_r($_FILES);