我正在学习如何上传一个简单的文件。
代码如下:
<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);