元のアドレス:
http://www.webcodegeeks.com/html5/html5-file-upload-example/
この記事では、HTML5 を使用してユーザーが選択したファイル情報を読み取り、ファイルをアップロードする方法を説明します。
FileApi は HTML5 の最も興味深い新機能の 1 つで、表示されているファイルに関する情報をサーバーにアップロードする前に読み取ることができ、投稿フォームを使用せずにファイルを送信できます。
以下では、Ajaxを使用して、ユーザーが選択したファイル情報を読み取り、それらのファイルを非同期にアップロードする方法を示します。
1. ファイル情報を表示する
1.1:のみの場合1 つのファイル
HTML コードは次のとおりです
<input type="file" id="fileinput">ユーザーがファイルを選択すると、input 要素は「change」イベントを生成するため、このイベントをリッスンできます:
document.getElementById('fileinput').addEventListener('change', function(){ var file = this.files[0]; // This code is only for demo ... console.log("name : " + file.name); console.log("size : " + file.size); console.log("type : " + file.type); console.log("date : " + file.lastModified); }, false);ご覧のとおり、FileApi は非常に使いやすく、input 要素に「files」属性を追加します。
概要: 「files」属性は書き込み可能ではなく、その内容を読み取ることのみが可能です。これを使用して取得できることに気付きました。files[0] ユーザーが選択した最初のファイルです。
1.2: 複数のファイル
ここで、すべてのファイル情報を表示したいと思います。ユーザーによって選択されました。
HTML コードは次のとおりです
<input type="file" id="fileinput" multiple>「multiple」属性を input 要素に追加するだけで、ユーザーはアップロードする複数のファイルを選択できます。
document.getElementById('fileinput').addEventListener('change', function(){ for(var i = 0; i<this.files.length i var file="this.files[i];" this code is only for demo ... console.group console.log : file.name file.size file.type file.lastmodified console.groupend false><span></span>概要: 「accept」タグを追加して、ユーザーがアップロードできるファイルの種類をフィルタリングすることもできます。たとえば、ユーザーに画像のみをアップロードさせたい場合は、MIME タイプ「image/*」をフィルタリングするだけで済みます:<p>。 </p> <pre name="code"><input type="file" id="fileinput" multiple accept="image/*">1.3 ファイルをプレビューする
ファイル情報を読み取ることも、ファイルのコンテンツを読み取ることもできます。たとえば、プレビュー画像を例として挙げます。
は次のとおりです:
<meta charset="UTF-8"> <title>Preview images</title> <style> #gallery .thumbnail{ width:150px; height: 150px; float:left; margin:2px; } #gallery .thumbnail img{ width:150px; height: 150px; } </style> <h2 id="Upload-images">Upload images ...</h2> <input type="file" id="fileinput" multiple accept="image/*"> <div id="gallery"></div> <script src="gallery.js"></script>JavaScriptを使用してファイルのアップロードを管理します。
gallery.js
var uploadfiles = document.querySelector('#fileinput'); uploadfiles.addEventListener('change', function () { var files = this.files; for(var i=0; i<files.length i previewimage false><span></span>previewImage関数は、ユーザーが選択したファイルを表示します。<p><span></span>gallery.js</p> <p></p> <pre name="code">function previewImage(file) { var galleryId = "gallery"; var gallery = document.getElementById(galleryId); var imageType = /image.*/; if (!file.type.match(imageType)) { throw "File Type must be an image"; } var thumb = document.createElement("div"); thumb.classList.add('thumbnail'); // Add the class thumbnail to the created div var img = document.createElement("img"); img.file = file; thumb.appendChild(img); gallery.appendChild(thumb); // 使用FileReader来显示图片内容 var reader = new FileReader(); reader.onload = (function(aImg) { return function(e) { aImg.src = e.target.result; }; })(img); reader.readAsDataURL(file); }ファイルの内容を非同期で読み取る FileReader オブジェクトを導入しました。新しい FileReader を使用してオブジェクトをインスタンス化し、readAsUrl メソッドを呼び出してファイルのデータを読み取ります。 ファイル コンテンツが読み取られた後、onload メソッドがイベントのように呼び出され、ファイル コンテンツが画像要素の src 属性に割り当てられます: aImg.src = e.target.result;
2. ファイルをアップロードします
ファイルをアップロードするには XMLHttpRequest (Ajax) を使用します。
ユーザーが選択したすべてのファイルは HTTP リクエストを作成し、サーバーに送信します。
最初に定義しますXMLHttpRequest を含むメソッド ファイルをアップロードするには
function uploadFile(file){ var url = 'server/index.php'; var xhr = new XMLHttpRequest(); var fd = new FormData(); xhr.open("POST", url, true); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { // Every thing ok, file uploaded console.log(xhr.responseText); // handle response. } }; fd.append("upload_file", file); xhr.send(fd); }このメソッドは、指定された URL に (post メソッド経由で) ajax リクエストを生成し、「upload_file」リクエスト パラメーターでファイルのコンテンツを送信します。 $_FILES[ を渡すことができます。 'upload_file'] このパラメータを取得するには、
次に、uploadFile メソッドを使用して、選択したファイルをアップロードします。
<input type="file" id="uploadfiles" multiple>Js は次のとおりです:
var uploadfiles = document.querySelector('#uploadfiles'); uploadfiles.addEventListener('change', function () { var files = this.files; for(var i=0; i<files.length i uploadfile false><span></span>PHP スクリプトは次のとおりです:<p> </p> <pre name="code">if (isset($_FILES['upload_file'])) { if(move_uploaded_file($_FILES['upload_file']['tmp_name'], "datas/" . $_FILES['upload_file']['name'])){ echo $_FILES['upload_file']['name']. " OK"; } else { echo $_FILES['upload_file']['name']. " KO"; } exit; } else { echo "No files uploaded ..."; }3. ダウンロード
すべてのソースコード
上記では、関連する内容も含めて HTML5 ファイルのアップロード例を紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 中国語版
中国語版、とても使いやすい

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール
