我有使用<input type="file">
的单文件上传的经验.然而,我在一次上传多个文件时遇到困难.
例如,我想一次 Select 一系列图像,然后将它们上传到服务器.
It would be great to use a single file input control, if possible.
有人知道如何做到这一点吗?
我有使用<input type="file">
的单文件上传的经验.然而,我在一次上传多个文件时遇到困难.
例如,我想一次 Select 一系列图像,然后将它们上传到服务器.
It would be great to use a single file input control, if possible.
有人知道如何做到这一点吗?
这在HTML5年内是可能的.示例(PHP5.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>
以下是在文件对话框中 Select 两个项目后在Chrome中的外观:
下面是点击"上传"按钮后的样子.
这只是一个完整答案的草图.有关在PHP中正确、安全地处理文件上传的更多信息,请参阅PHP Manual: Handling file uploads.