我已經嘗試了最近3個小時的所有建議解決方案,但都沒有爲我工作。請記住,我對ajax非常陌生。如何使用Ajax將文件上傳到php腳本使用XAMPP
這裏是我的Ajax代碼:
var formData = new FormData();
formData.append('file', $('#commercialAnimation')[0].files[0]);
$.ajax({
url : 'includes/upload.php',
type : 'POST',
data : formData,
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
success : function(data) {
console.log(data);
alert(data);
}
});
這裏是片形式的(這是其默認禁用最後一個表單屬性):
<label id="uploadAnimation">Upload your file:</label>
<input type="file" id="myfile" disabled>
這裏是PHP類應該檢索此文件:
include 'db_connector.php';
$fileName = $_FILES['file']['name'];
$fileType = $_FILES['file']['type'];
$fileError = $_FILES['file']['error'];
$fileContent = file_get_contents($_FILES['file']['tmp_name']);
if($fileError == UPLOAD_ERR_OK){
//file uploaded
}else{
//error while uploading
echo json_encode(array(
'error' => true,
'message' => $message
));
}
當我嘗試將消息記錄到單獨的文件php代碼似乎工作,但我可以找不到任何xampp文件夾中的文件。 此外,來自ajax的alert(data);
不顯示任何值。
你雖然看到的console.log(數據)輸出成功的回調? – AdamJeffers
我看到彈出框,但它是空的 – Lenny
'$ fileName = $ _FILES ['file'] ['name'];''和'$ fileType = $ _FILES ['file'] ['type'];'存儲正確的文件名並鍵入 – Lenny