我正在尝试编写文件上传页面的服务器端代码。在客户端,我使用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);
}
});
答案 0 :(得分:0)
在输出错误中显示1.这意味着上传的文件超过了php.ini中的upload_max_filesize指令。
请检查上传文件的大小。允许上传超过最大文件大小。
答案 1 :(得分:0)
原来,由于某种原因,我无法写入我的Web服务器的根文件夹。将路径更改为其他位置是解决方案。