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 サイトの他の関連記事を参照してください。