我为文件创建了一个文件夹。我正在尝试将多个文件上传到这个新文件夹但是,我的代码无法上传文件数组。我可以将一个文件上传到新目录但不是多个。这是我的代码。
HTML
<form method="post" action="upload.php" enctype="multipart/form-data">
<input name="document_name[]" type="file" multiple/>
<input name="document_name[]" type="file" multiple/>
<input name="document_name[]" type="file" multiple/>
<input type="submit">
</form>
PHP
$path = 'CreateFolder';
if (!is_dir($path)) {
mkdir($path);
}
for ($i = 0; $i < count($_FILES["document_name"]["name"]); $i++) {
$upload_dir = 'C:myDir\\' . $path . '\\';
$document_url = $upload_dir . basename($_FILES["document_name"]["name"][$i]);
echo $document_url;//test url
$type_of_document = pathinfo($document_url, PATHINFO_EXTENSION);//any type allow
if (move_uploaded_file($_FILES["document_name"]["tmp_name"][$i], $document_url)) {
echo 'Uploaded!';
} else {
echo "Sorry, there was an error uploading your file. <br/>";
}
}
我遵循我在网上找到的其他答案。其中一个答案建议我使用3个不同的名字,很酷,但我想学习使用数组和for循环。
我唯一能回来的是
Sorry, there was an error uploading your file
谢谢!
答案 0 :(得分:0)
问题是你的道路。我会这样做:
$upload_dir = dirname(__FILE__) . DIRECTORY_SEPARATOR . $path;
和$document_url
:
$document_url = $upload_dir . DIRECTORY_SEPARATOR . basename($_FILES["document_name"]["name"][$i]);