Итак, я пытался и пытался конвертировать мой сайт из загрузки статусов с изображениями и без них, используя только PHP и HTML для использования PHP, AJAX и HTML, поэтому ему не нужно создавать совершенно новый загрузку страницы, чтобы успешно обновить базу данных, и это было хорошо, и мне пришлось загружать изображения.Загрузите файл на сервер через AJAX
Мои JavaScript/JQuery/AJAX код выглядит следующим образом:
$(function() {
$("#statusupdate").on('submit', function (e) {
var category = $("#statusupdate input[type=radio]:checked").val();
var text = $("textarea#statusupdate_text").val();
var file = $("input#file").val();
$.ajax({
type: "POST",
url: "snippets/post_statusupdatequery.php",
data: { category : category, text : text, file : file },
success: function() {
$('#statusupdate').html("<div id='success_status'></div>");
$('#success_status').html("<h2>Post Submitted!</h2>")
.append("<p>We will be in touch soon.</p>")
.hide();
}
});
return false;
e.preventDefault();
});
});
http://pastebin.com/fSGFa32D и мой PHP код выглядит следующим образом:
if (!empty($_FILES['userfile'])) {
$raw_text = $_POST['text'];
$text = mysql_real_escape_string($raw_text);
$uploaddir = '/var/www/images/imageupdate/';
$filename = "".$id."-".$time."";
$uploadfilenam = basename($filename);
$uploadfilename = $uploadfilenam.".png";
$uploadfile = $uploaddir.$uploadfilename;
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
mysql_query("INSERT INTO imagepost
(userid, text, image, date)
VALUES('$id', '$text', '$uploadfilename', '$time') ") or die(mysql_error());
}
} else {
echo '<script>alert(" Select a file to upload! ");</script>';
}
В настоящее время, насколько я знаю , он терпит неудачу в первом выражении if в коде PHP, и у меня есть googled и поиск по всему стековому потоку, но я не могу найти про подобный этому.
Так что, пожалуйста, помогите, что я пропустил, чтобы получить файлы, чтобы «отправить через AJAX» на PHP?
Пожалуйста, внесите сюда свой код. – samayo
@Simon_eQ Сделано! –