我無法使用Ajax上傳文件。我只想上傳一個文件。以下是我所做的代碼。上傳Ajax文件時出錯
HTML &阿賈克斯
$(document).ready(function(){
$("input:submit").on('click', function(e) {
e.preventDefault();
var submit = $("#submit").val(),
file = document.getElementById('slip_gaji').files[0],
fd = new FormData();
fd.append("submit", submit);
fd.append("slip_gaji", file);
$.ajax({
url: "insert-slip.php",
type: "POST",
data: fd,
processData: false,
contentType: false
}).done(function(data){
$('#result_insert').html(data)
});
});
});
<form id="upload_gaji" name="upload_gaji enctype="multipart/form-data" method="post">
<fieldset class="account-info">
<label>
Slip Gaji <br>
<input type="file" name="slip_gaji" id="slip_gaji">
</label>
</fieldset>
</form>
PHP - 插入 - slip.php
<?php
if(isset($_POST["submit"])){
if (empty($_FILES['slip_gaji']['tmp_name'])) {
$err[] .= 'No File Selected';
} else {
$fname = $_FILES['slip_gaji']['name'];
$fpath = "uploads/" . date('d-m-Y-H-i-s').'-'.$fname;
$move = move_uploaded_file($fname, $fpath);
}
}
if (!empty($err)) {
echo '<ol style="color: red;"><li>' . implode('</li><li>', $err) . '</li></ol>';
} else {
echo 'File Uploaded!';
}
echo '<pre>'; var_dump($_FILES); echo '</pre>';
?>
,從我做的代碼,沒有文件被上傳在上傳文件夾。如果我使用var_dump($_FILES)
。我收到輸出:
array(1) {
["slip_gaji"]=>
array(5) {
["name"]=>
string(12) "cuti_ceo.txt"
["type"]=>
string(10) "text/plain"
["tmp_name"]=>
string(24) "C:\xampp\tmp\php248A.tmp"
["error"]=>
int(0)
["size"]=>
int(196)
}
}
可能有人檢查什麼是錯誤?
'NAME =「upload_gaji'是不可少的報價,對於一件事。 –
看看你的開發者控制檯和使用錯誤報告 –
已經添加了報價,但忘了在此更新 – Amran