嘿,我正在上传文件到一个选定的文件夹,现在我有能力选择并上传一个文件。我知道如何处理php中的多个文件,但我不知道如何通过AJAX发送所有文件。感谢您的帮助,您可以提供ajax使用php上传多个文件
AJAX
function submitForm() {
console.log("submit event");
var fd = new FormData(document.getElementById("fileinfo"));
fd.append("label", "sound");
fd.append('label', document.getElementById('selected_folder').value);
$.ajax({
url: "upload.php",
type: "POST",
data: fd,
enctype: 'multipart/form-data',
processData: false, // tell jQuery not to process the data
contentType: false // tell jQuery not to set contentType
}).done(function(data) {
console.log("PHP Output:");
console.log(data);
alert("upload success!")
});
return false;
}
PHP
<?php
if ($_POST["label"]) {
$subfolder = $_POST["label"];
}
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < (10000*1024))
&& in_array($extension, $allowedExts)) {
if ($_FILES["file"]["error"] > 0) {
// echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
} else {
$filename = $_FILES["file"]["name"];
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"]/1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("uploaded/".$subfolder .'/'. $filename)) {
//already exists
} else {
move_uploaded_file($_FILES["file"]["tmp_name"],
"uploaded/".$subfolder .'/'. $filename);
// "Stored in: " . "uploaded/".$subfolder .'/'. $filename;
}
}
} else {
echo "Invalid file";
}
?>
是元素从这个'的document.getElementById( “FileInfo的”)返回''一个形式'?如果不是,应该是。 –
这里'fileinfo'是表单的权利?这应该。 –
尼克你用答案尝试? –