我有一个图像上传表单一个非常简单的HTML页面如下:图像不被保存在PHP脚本
<form id="file_data">
<input type='file' id='image_uploaded' accept='image'/>
<input type='submit' id="upload_image"/>
</form>
我的javascript:
$(document).ready(function() {
$("form[id='file_data']").submit(function() {
var form_data = new FormData(this);
$.ajax({
url: "upload.php",
type: "POST",
data: form_data,
processData: false,
success: function(data) {
alert(data);
}
});
});
});
upload.php
是创建一个目录来存储图片,如果该目录不存在。然后应该存储在目录中的图像:
<?php
define("IMAGE_DIRECTORY", "images");
//If the directory for images does not exist, create it
if(!is_dir(IMAGE_DIRECTORY)) {
mkdir(IMAGE_DIRECTORY, 0777, true);
}
move_uploaded_file($_FILES["tmp_name"], IMAGE_DIRECTORY . "\\" .basename($_FILES["file"]["name"]));
?>
虽然PHP脚本将创建目录,如果它不存在,它不保存到目录中的任何图片。我假设我没有从PHP正确访问图像,但是我看过的教程并没有解释太多的细节,当图像通过Ajax调用发送到PHP时发生的实际情况。
你的文件输入似乎缺乏一个name属性 –