【发布时间】:2017-12-26 17:19:16
【问题描述】:
我正在尝试编写文件上传页面的服务器端代码。在客户端,我使用 jQuery AJAX 对象发送 FormData 对象,其中包含两个图像,键为“0”和“1”。我检查了对象是否发送到后端。
唯一的问题是 move_uploaded_file 方法返回 false。
if (isset($_FILES["0"])) {
if(move_uploaded_file($_FILES["0"]['tmp_name'], "/" . $_FILES["0"]["name"])){
echo "okay";
}
else {
echo "halfokay";
print_r($_FILES);
}
}
else {
exit;
}
输出:
halfokArray
(
[0] => Array
(
[name] => _DSC0726.JPG
[type] =>
[tmp_name] =>
[error] => 1
[size] => 0
)
[1] => Array
(
[name] => _DSC0728.JPG
[type] =>
[tmp_name] =>
[error] => 1
[size] => 0
)
)
更新:它适用于较小的图像,但最终它不在应有的位置。
jQuery:
var formData = new FormData();
for (var i = 0; i < window.images.length; i++) {
formData.append(i,window.images[i]);
}
$.ajax({
url: 'realpetadupload.php',
data: formData,
processData: false,
contentType: false,
type: 'POST',
success: function(data){
alert(data);
}
});
【问题讨论】:
-
好吧,理论上我可以,这就是 FormData 对象的用途
-
顺便说一句,
1表示UPLOAD_ERR_INI_SIZE反正。 -
显示表单+jquery plz
标签: php jquery file-upload backend