я делал так:
пхп:
<?php
move_uploaded_file($_FILES["loadfile"]["tmp_name"], "uploads/" . $_FILES["loadfile"]["name"]);
echo "uploads/" . $_FILES["loadfile"]["name"];
?>
js:
var formdata = new FormData();
formdata.append('loadfile', file); // "file" это из input file
$.ajax({
url: "upload.php",
type: "POST",
data: formdata,
processData: false,
contentType: false,
success: function (res) {
console.info(res);
}
});
всё прекрасно читалось и сохранялось, без костылей))