问题描述: 在使用AJAX和PHP进行图片上传时,发现无法上传图片,而且在PHP代码中访问$_FILES变量时为空。
解决方法:
var form = document.getElementById('myForm');
var formData = new FormData(form);
$.ajax({
url: 'upload.php',
type: 'POST',
data: formData,
contentType: false,
processData: false,
success: function(response) {
// 处理上传成功后的逻辑
},
error: function() {
// 处理上传失败后的逻辑
}
});
$uploadDir = 'uploads/';
if (!file_exists($uploadDir)) {
mkdir($uploadDir, 0777, true);
}
$uploadFile = $uploadDir . basename($_FILES['image']['name']);
if (move_uploaded_file($_FILES['image']['tmp_name'], $uploadFile)) {
// 文件上传成功
} else {
// 文件上传失败
}
file_uploads = On
upload_max_filesize = 2M // 根据需要设置合适的大小
post_max_size = 8M // 根据需要设置合适的大小
通过以上方法,可以解决AJAX PHP图片上传不起作用且$_FILES为空的问题。