ホームページ > ウェブフロントエンド > jsチュートリアル > AJAX、PHP、jQuery を使用して複数の画像を効率的にアップロードするにはどうすればよいですか?

AJAX、PHP、jQuery を使用して複数の画像を効率的にアップロードするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-24 18:20:14
オリジナル
838 人が閲覧しました

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

AJAX、PHP、および jQuery を使用した複数の画像のアップロード

この説明では、AJAX 技術を使用した複数の画像のアップロードの問題について説明します。ユーザーは、AJAX 経由で複数のファイルを送信する際に問題が発生し、ファイル配信が不完全になると述べています。この記事では、JSON を活用してファイル オブジェクトを効率的に処理し、アップロードを成功させる包括的なソリューションを提供します。

HTML

次の HTML コードは、Web ページの構造を確立します。 、ドラッグ アンド ドロップ機能、ファイル入力、アップロードの進行状況を表示するセクションなどの要素が含まれます。結果:

<div>
ログイン後にコピー

CSS

ユーザー インターフェイスを強化し、ファイルのアップロード プロセス中に視覚的な手がかりを提供するためにスタイルが適用されます:

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

#uploads li {
  list-style: none;
}
ログイン後にコピー

JavaScript

JavaScript コードはファイルを処理しますアップロード プロセス。AJAX を利用してサーバーと通信します。 JSON を使用してファイル データをカプセル化し、進行状況を追跡するための HTML5 テクニックを使用します。

$(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

PHP スクリプトは、JSON 形式でエンコードされたファイル データを受信して​​返します。 JSON 文字列として:

<?php
if (isset($_POST["file"])) {
    // process file object
    $file = json_encode($_POST["file"]);
    // return file as JSON string
    echo $file;
};
?>
ログイン後にコピー

これらの手法を実装することで、複数のファイルを効率的にアップロードできます。 AJAX、PHP、および jQuery を使用した画像。 JSON アプローチによりファイル送信が簡素化され、進行状況追跡の使用により、アップロード ステータスに関するリアルタイムのフィードバックが提供されるため、ユーザー エクスペリエンスが向上します。

以上がAJAX、PHP、jQuery を使用して複数の画像を効率的にアップロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート