我有一個圖像上傳表單一個非常簡單的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屬性 –