ホームページ  >  記事  >  バックエンド開発  >  PHPファイルアップロードの2つの実装方法、_PHPチュートリアル

PHPファイルアップロードの2つの実装方法、_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:55:28882ブラウズ

PHP ファイルアップロードの 2 つの実装方法、

ファイルをアップロードするには、一般に 2 つの方法があります:

2種類あります:
1. 標準の入力フォーム方法。通常は $_FILES を使用して受信します。 2. Base64 モードで送信します。通常は AJAX 非同期アップロードです。

ファーストタイプ 標準入力フォーム方式は大きなファイルのアップロードに適しており、バッチ処理をサポートしています。 HTML コードのいくつかの重要な文:
リーリー

名前が異なる場合:

リーリー

Enctype="multipart/form-data" はファイルのアップロードに必須です。また、type="file" で入力タイプを設定し、accept="image/*" で画像アップロード時の優先順位を指定します(MIME リファレンスマニュアル)。 Multiple は一度に複数のファイルを選択することをサポートしており、pic[] は複数のファイルを配列の形式で受け取ります。モバイル端末は、パラメータ Capture="camera" を追加して、写真を撮影してアップロードするカメラを選択することもできます。

バックエンド処理:

$_FILES を通じてアップロードされたファイルを取得します。

$files = $_FILES;
複数のファイルを転送する場合、名前が異なると、返される $_FILES 配列の形式も異なります。

名前が同じ場合:

リーリー

名前が異なる場合:
リーリー

$_FILES で foreach トラバーサルを実行する場合、以前の出力形式はあまり便利ではありません。後者は直接横断することができます。統合変換のメソッドを書くことができます:

リーリー

さて、バックエンドが受け取った $_FILES 配列をどのように処理し、統一された形式に変換するかについて説明しました。次のタスクは主に次のとおりです:

1. アップロードされたファイルが違法かどうかを確認します
2. アップロードされたファイルがサイズを超えているかどうかを確認します。 3. 保存されたパスが存在するかどうか、および書き込み可能かどうかを確認します。 4. ファイルの名前変更

アップロードプロセスでは非常に重要な関数 move_uploaded_file(filename, $destination) が使用され、ファイルの移動操作が実行されます。 $_FILES['id_pic']['tmp_name'] を新しいパスに移動します。もちろん、移動する前に、 is_uploaded_file($_FILES['id_pic']['tmp_name']) を使用して、ファイルが正常にアップロードされたかどうかを確認できます。

複数のファイルのアップロードでは、ループ内で move_uploaded_file() を複数回使用して移動操作を実行します。

2番目のタイプ

主に写真をアップします。 入力の変更イベントを使用して、canvas で画像を処理 (圧縮など) し、ajax 経由でファイル ストリームをバックエンドに送信します。
基本原理は、canvas を通じて画像をレンダリングし、toDataURL メソッドを通じてそれを圧縮し、base64 文字列として保存することです (jpg 形式の画像にコンパイルできます)。

バックエンド処理:

バックエンドは最終的に、フロントエンドによって送信されたbase64文字列を受信し、その文字列を画像に処理します。具体的には、Google|Baidu のイメージ開発言語にキーワード「base64」を使用してください。フロントエンドによって生成された結果には文字列の長さであるbase64Lenがあり、バックエンドは送信が完了したかどうかを確認する必要があります。
リーリー
以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。

興味がありそうな記事:

phpファイルアップロードのサフィックス名とファイルタイプの比較表(ほぼ全てのファイルを網羅)

    php+ajaxによる画像ファイルアップロード関数の実装例
  • 動画ファイルアップロードのPHP実装完全例
  • PHP セッションと Javascript を使用してファイルアップロードプログレスバー機能を実装
  • ThinkPHP と AjaxFileUploader を組み合わせて更新不要のファイルアップロードメソッドを実現
  • Thinkphp マルチファイルアップロード実装メソッド
  • ファイルが選択されているかどうかを判断する PHP ファイルアップロードメソッドファイルをアップロードするには
  • 古典的な PHP ファイル アップロード クラスの共有
  • PHP ファイル アップロード機能を実装するために php.ini を設定します
  • php+jQuery.uploadify ファイル アップロード チュートリアルを実装します
http://www.bkjia.com/PHPjc/1117028.html

www.bkjia.com本当http://www.bkjia.com/PHPjc/1117028.html技術記事 php ファイルのアップロードを実装するには、通常 2 つの方法があります: 1. 標準の入力フォーム メソッド (通常は $_FILES を使用して受信します)。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。