Echo $ _FILES没有结果

时间:2016-03-24 10:32:42

标签: php

我试图在学习如何操作时进行简单的文件上传。

代码如下所示:

<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个文件的结果。

4 个答案:

答案 0 :(得分:1)

你需要像这样更正你的HTML

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

然后在upload.php:

print_r($_FILES);

答案 1 :(得分:0)

而不是echo尝试

print_r($_FILES)

还尝试在

下面添加表单标记代码
enctype="multipart/form-data"

答案 2 :(得分:0)

我假设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

答案 3 :(得分:-1)

正确的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);