如何使用HTTP POST选择并使用HTML和PHP上传多个文件?我有使用单文件上传的经验<input type="file">。但是,我无法一次上传多个。例如,我希望能够一次性选择一系列图像,然后将它们上传到服务器。如果可能的话,使用单个文件输入控件会很棒。有谁知道如何做到这一点?谢谢!
3 回答
慕的地10843
TA贡献1785条经验 获得超8个赞
这在HTML5中是可能的。示例(PHP 5.4):
<!doctype html><html> <head> <title>Test</title> </head> <body> <form method="post" enctype="multipart/form-data"> <input type="file" name="my_file[]" multiple> <input type="submit" value="Upload"> </form> <?php if (isset($_FILES['my_file'])) { $myFile = $_FILES['my_file']; $fileCount = count($myFile["name"]); for ($i = 0; $i < $fileCount; $i++) { ?> <p>File #<?= $i+1 ?>:</p> <p> Name: <?= $myFile["name"][$i] ?><br> Temporary file: <?= $myFile["tmp_name"][$i] ?><br> Type: <?= $myFile["type"][$i] ?><br> Size: <?= $myFile["size"][$i] ?><br> Error: <?= $myFile["error"][$i] ?><br> </p> <?php } } ?> </body></html>
在文件对话框中选择2个项目后,这就是Chrome中的样子:
这是单击“上传”按钮后的样子。
这只是一个完整工作答案的草图。有关在PHP中正确,安全地处理文件上载的更多信息,请参阅PHP手册:处理文件上载。
红糖糍粑
TA贡献1815条经验 获得超6个赞
创建多文件上传需要做一些事情,实际上它非常基本。您不需要使用Java,Ajax,Flash。只需构建一个普通的文件上传表单,即:
<form enctype="multipart/form-data" action="post_upload.php" method="POST">
那么成功的关键;
<input type="file" name="file[]" multiple />
别忘了那些括号!在post_upload.php中尝试以下方法:
<?php print_r($_FILES['file']['tmp_name']); ?>
请注意,您将获得一个包含tmp_name数据的数组,这意味着您可以使用带有文件“number”示例的第三对括号访问每个文件:
$_FILES['file']['tmp_name'][0]
您可以使用php count()来计算所选文件的数量。古德勒克widdit!
- 3 回答
- 0 关注
- 815 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消