Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Fail AJAX jQuery Saya Muat Naik ke PHP Gagal Walaupun Menunjukkan '[objek FormData]'?

Mengapa Fail AJAX jQuery Saya Muat Naik ke PHP Gagal Walaupun Menunjukkan '[objek FormData]'?

Susan Sarandon
Lepaskan: 2024-12-28 03:51:09
asal
919 orang telah melayarinya

Why Does My jQuery AJAX File Upload to PHP Fail Despite Showing

Muat Naik Fail AJAX jQuery dalam PHP

Masalah: Memuat naik fail melalui permintaan jQuery AJAX gagal walaupun pelayar menunjukkan "[objek FormData]" dan kosongkan folder "muat naik" pada pelayan.

Penyelesaian: Untuk berjaya memuat naik fail menggunakan jQuery AJAX, skrip sebelah pelayan diperlukan untuk mengendalikan fail yang dimuat naik dan mengalihkannya ke lokasi yang dikehendaki.

Skrip jQuery yang dikemas kini

Skrip jQuery yang dikemas kini berikut menghala ke skrip PHP sebelah pelayan yang dipanggil "upload.php":

$("#upload").on("click", function() {
    var file_data = $("#sortpicture").prop("files")[0];
    var form_data = new FormData();
    form_data.append("file", file_data);
    $.ajax({
        url: 'upload.php',
        dataType: 'text',
        cache: false,
        contentType: false,
        processData: false,
        data: form_data,
        type: 'post',
        success: function(php_script_response){
            alert(php_script_response);
        }
    });
});
Salin selepas log masuk

Skrip PHP Bahagian Pelayan

Skrip "upload.php" berikut menyemak ralat dalam fail yang dimuat naik dan mengalihkannya ke direktori "muat naik" :

<?php
if (0 < $_FILES['file']['error']) {
    echo 'Error: ' . $_FILES['file']['error'] . '<br>';
} else {
    move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']);
}
?>
Salin selepas log masuk

Pertimbangan Tambahan

  • Pastikan anda mempunyai laluan pelayan yang betul ke direktori "muat naik".
  • Pastikan direktori "muat naik" boleh ditulis.
  • Semak konfigurasi PHP anda untuk "upload_max_filesize" dan "post_max_size" untuk memastikan fail ujian anda jangan melebihi had ini.

Menamakan semula Fail Menggunakan Bahagian Pelayan Skrip

Untuk menamakan semula fail pada pelayan menggunakan PHP:

move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/my_new_filename.whatever');
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa Fail AJAX jQuery Saya Muat Naik ke PHP Gagal Walaupun Menunjukkan '[objek FormData]'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan