Rumah >hujung hadapan web >tutorial js >Bagaimanakah saya boleh memuat naik berbilang imej dengan cekap menggunakan AJAX, PHP dan jQuery?

Bagaimanakah saya boleh memuat naik berbilang imej dengan cekap menggunakan AJAX, PHP dan jQuery?

Barbara Streisand
Barbara Streisandasal
2024-11-24 18:20:14841semak imbas

How can I efficiently upload multiple images using AJAX, PHP, and jQuery?

Memuat Naik Berbilang Imej Menggunakan AJAX, PHP dan jQuery

Dalam perbincangan ini, isu memuat naik berbilang imej menggunakan teknik AJAX ditangani. Pengguna menerangkan mengalami kesukaran dalam menghantar berbilang fail melalui AJAX, yang membawa kepada penghantaran fail yang tidak lengkap. Artikel ini menyediakan penyelesaian komprehensif yang memanfaatkan JSON untuk memproses objek fail dengan cekap dan memudahkan muat naik yang berjaya.

HTML

Kod HTML berikut menetapkan struktur halaman web , termasuk elemen untuk fungsi seret dan lepas, input fail dan bahagian untuk memaparkan kemajuan muat naik dan hasil:

<div>

CSS

Penggayaan digunakan untuk meningkatkan antara muka pengguna dan memberikan isyarat visual semasa proses muat naik fail:

#uploads {
  display: block;
  position: relative;
}

#uploads li {
  list-style: none;
}

JavaScript

Kod JavaScript mengendalikan proses muat naik fail, memanfaatkan AJAX untuk berkomunikasi dengan pelayan. Ia menggunakan JSON untuk merangkum data fail dan teknik HTML5 untuk penjejakan kemajuan:

$(document).on("change", "input[name^='file']", function (e) {
    e.preventDefault();
    var This = this,
        display = $("#uploads");

    // process file object
    $.each(This.files, function (i, file) {
        var reader = new FileReader(),
            dfd = new $.Deferred();
        reader.onload = function (e) {
            // convert file to data URL
            dfd.resolveWith(file, [e.target.result])
        };
        reader.readAsDataURL(new Blob([file], {
            "type": file.type
        }));
        dfd.then(function (data) {
            // send file data using AJAX
            $.ajax({
                url: "/echo/json/",
                type: "POST",
                data: {
                    "file": JSON.stringify({
                        "file": data,
                        "name": file.name,
                        "size": file.size,
                        "type": file.type
                    })
                }
            })
            .then(function (data, textStatus, jqxhr) {
                console.log(data)
                display.append("<br /><li>", img, "</li><br />");
                return data
            }, function (jqxhr, textStatus, errorThrown) {
                console.log(errorThrown);
                return errorThrown
            });
        })
    });
});

PHP

Skrip PHP menerima data fail yang dikodkan dalam format JSON dan mengembalikannya sebagai rentetan JSON:

<?php
if (isset($_POST["file"])) {
    // process file object
    $file = json_encode($_POST["file"]);
    // return file as JSON string
    echo $file;
};
?>

Dengan melaksanakan teknik ini, anda boleh dengan cekap muat naik berbilang imej menggunakan AJAX, PHP dan jQuery. Pendekatan JSON memudahkan penghantaran fail dan penggunaan penjejakan kemajuan meningkatkan pengalaman pengguna dengan memberikan maklum balas masa nyata tentang status muat naik.

Atas ialah kandungan terperinci Bagaimanakah saya boleh memuat naik berbilang imej dengan cekap menggunakan AJAX, PHP dan jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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