我有使用<input type="file">. 但是,我无法一次上传多个文件。
<input type="file">
例如,我想选择一系列图像,然后一次将它们上传到服务器。
如果可能的话,使用单个文件输入控件会很棒。
有谁知道如何做到这一点?
这在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 手册:处理文件上传。