【发布时间】:2019-12-13 02:18:18
【问题描述】:
我正在尝试根据用户上传的内容上传 1 - x 数量的文件。最近,我创建了一个 for 循环来遍历文件。我看到的只是第一个文件上传。
有人知道为什么只上传第一个文件吗?
class fileUpload
{
public function __construct()
{}
public function upload() {
$file_count = count($_FILES['uploadedFile']['name']);
//$file_count = count($_FILES($file_post['name']));
for ($i = 0; $i<$file_count; $i++) {
// echo $file['uploadedFile']['name'][$index] . "\n";
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["uploadedFile"]["name"][$i]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
return 0;
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["uploadedFile"]["tmp_name"][$i], $target_file)) {
return basename($_FILES["uploadedFile"]["name"][$i]);
} else {
return 0;
}
}
}
}
}
表单输入:
<input type="file" name="uploadedFile[]" class="inputfile" id="uploadedFileTest" data-multiple-caption="{count} files selected" multiple>
【问题讨论】:
-
请同时出示您的表格,您是如何提交表格的,您是说其他表格中的错误索引不为0?
-
输入添加到问题中。上传时我没有收到任何记录的错误。第一次上传文件后,附加文件不会移动到上传文件夹。
标签: php file for-loop file-upload