Я пытаюсь загрузить файл изображения.Загрузка файла в PHP, ajax показывает ошибку
Это мой Html
<form class="form-horizontal" role="form" enctype="multipart/form-data">
<div class="form-group">
<label for="a" class="control-label col-sm-2">A:</label>
<input type="text" class="form-control col-sm-10" id="a">
</div>
<div class="form-group">
<label for="b" class="control-label col-sm-2">B:</label>
<input type="text" class="form-control col-sm-10" id="b">
</div>
<div class="form-group">
<label for="c" class="control-label col-sm-2">C:</label>
<input type="text" class="form-control col-sm-10" id="c">
</div>
<div class="form-group">
<label for="d" class="control-label col-sm-2">D:</label>
<input type="text" class="form-control col-sm-10" id="d">
</div>
<div class="form-group">
<label for="fupload" class="control-label col-sm-2">Upload image:</label>
<input type="file" class="form-control col-sm-10" id="fupload">
</div>
<button type="button" class="btn-lg btn-primary" style="margin-left:200px" id="new_save" onclick='save_all();'>Save</button>
</form>
Мой Javascript код
var a= _("a").value; //the _ function returns document.getElementById(x)
var b = _("b").value;
var c = _("c").value;
var d = _("d").value;
var file_data = $("#fupload").prop("files")[0];
var fileup = new FormData();
fileup.append("file", file_data)
var ajax = ajaxObj("POST", "./phps/saveall.php");
ajax.onreadystatechange = function() {
alert(ajax.responseText);
}
ajax.send("a="+a+"&b="+b+"&c="+c+"&d="+d+"&fileup="+fileup);
Наконец мой PHP
$a = preg_replace('#[^a-z0-9()., ]#i', '', $_POST['a']);
$b = preg_replace('#[^a-z0-9()., ]#i', '', $_POST['b']);
$c= htmlentities($_POST['c']);
$c= mysqli_real_escape_string($db_conx, $c);
$d = htmlentities($_POST['d']);
$d = mysqli_real_escape_string($db_conx, $d);
$fup = $_POST['fileup'];
//processing a-d
//this is where the problem comes
move_uploaded_file($_FILES[$fup]['tmp_name'], '../lyrics/'.$a.'.png');
Когда я запускаю это переменные объявление, обрабатывается хорошо, но файл не получает но отображается следующая ошибка
"Примечание: Undefined индекс: [объект FormData]"
Как я могу это исправить?
сделать 'print_r ($ _ POST)' и 'print_r ($ _ FILES)' и убедитесь, что '$ _POST [ 'fileup'] 'является одним из ключевых в' $ _FILES' – cmorrissey
кажется fileup не является ключ в '$ _FILES', но является ключом в' $ _POST'. Также он не содержит данные изображения только поддельный путь к изображению –
Что такое 'ajaxObj'? – Musa