ajax多个php文件,用PHP上传Ajax多个文件

嘿,我正在将文件上传到选定的文件夹,现在我可以选择并仅上传一个文件.我知道如何处理php中的多个文件,但是我不确定如何通过AJAX发送所有文件.谢谢你的尽心帮助

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

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"] . "
";

} else {

$filename = $_FILES["file"]["name"];

echo "Upload: " . $_FILES["file"]["name"] . "
";

echo "Type: " . $_FILES["file"]["type"] . "
";

echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB
";

echo "Temp file: " . $_FILES["file"]["tmp_name"] . "
";

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";

}

?>

解决方法:

您可以使用以下表单数据传递多个文件

的HTML

JS

var fd = new FormData();

var files = $("#fuDocument").get(0).files; // this is my file input in which We can select multiple files.

fd.append("label", "sound");

for (var i = 0; i < files.length; i++) {

fd.append("UploadedImage" + i, files[i]);

}

$.ajax({

type: "POST",

url: 'Url',

contentType: false,

processData: false,

data: fd,

success: function (e) {

alert("success");

}

})

现在在您的ajax调用中传递fd对象与我的代码一起工作

标签:ajax,file-upload,image,php,jquery

来源: https://codeday.me/bug/20191027/1944244.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值