目次
1. HTML 部分 Upload.html
2. PHP 部分の Upload.php
3. PHP ファイルのアップロードのセキュリティ チェック
ホームページ バックエンド開発 PHPチュートリアル PHPファイルアップロード実装コードの詳細説明

PHPファイルアップロード実装コードの詳細説明

Jun 20, 2016 pm 01:05 PM
ファイルのアップロード

PHP ファイルアップロード実装コードの詳細説明

ファイルアップロード機能は、HTML ページと PHP 処理部分の 2 つの部分で構成されます。

HTML ページでは主にユーザーがアップロードするファイルを選択でき、php 部分ではサーバー上の指定されたディレクトリにファイルを保存できます。

1. HTML 部分 Upload.html

<p><html>   </p><p> <head>        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">    </head>    </p><p><body>        上传Demo:        </p><p><form action="upload.php" method="post" enctype="multipart/form-data">            </p><p><input type="file" name="img" />            </p><p><input type="submit" name="submit" value="上传" />        </p><p></form>    </p><p></body></p><p></html></p>
ログイン後にコピー

説明:Input タグ内の
1. Type="file" は、入力がファイルとして処理されることを示します。ファイル。

2.Enctype は、このフォームを送信するときに使用するコンテンツ タイプを指定します。ファイルコンテンツなど、フォームにバイナリデータが必要な場合、ファイルをアップロードする場合は、この属性が必要です。

2. PHP 部分の Upload.php

<p><?php</p><p>$DST_DIR = '/data/upload/';if ($_FILES['img']['name'] != '') {    </p><p>if ($_FILES['img']['error'] > 0) {</p><p>        echo "上传失败";</p><p> }    else { </p><p>       if (move_uploaded_file($_FILES['img']['tmp_name'], $DST_DIR.$_FILES['img']['name'])) {</p><p>            echo "上传成功"; </p><p>       }   else {  </p><p>          echo "上传失败"; </p><p>       }    }}else {</p><p>    echo "请上传文件";</p><p>}</p>
ログイン後にコピー

PHP ファイルアップロード実装コードの説明:

1. グローバル変数 $_FILE

この配列には、アップロードされたすべてのファイル情報が含まれます。
上記の例に示すように、ファイル アップロード フィールドの名前が img であると仮定します。次に、
$_FILES['img']['name']
クライアントによってアップロードされたファイルの元の名前。
$_FILES['img']['type']
ファイルの MIME タイプ (ブラウザーがこの情報を提供する場合)。例は「画像/gif」です。ただし、この MIME タイプは PHP 側ではチェックされないため、鵜呑みにしないでください。 $_FILES['img']['size']: アップロードされたファイルのサイズ (バイト単位)。
$_FILES['img']['size']
アップロードされたファイルのサイズ (バイト単位)。
$_FILES['img']['tmp_name']
ファイルのアップロード後にサーバーに保存される一時ファイル名。
$_FILES['img']['error']
ファイルのアップロードに関連するエラー コード。

2. エラーコードについて

$_FILES['img']['error'] には以下の種類があります。
UPLOAD_ERR_OK
値は 0、エラーは発生しません、ファイル正常にアップロードされました。
UPLOAD_ERR_INI_SIZE
値は 1 で、アップロードされたファイルは php.ini の Upload_max_filesize オプションの制限を超えています。
UPLOAD_ERR_FORM_SIZE
値は 2 で、アップロードされたファイルのサイズが HTML フォームの MAX_FILE_SIZE オプションで指定された値を超えています。
UPLOAD_ERR_PARTIAL
値は 3 で、ファイルの一部のみがアップロードされます。
UPLOAD_ERR_NO_FILE
値は 4 で、ファイルはアップロードされませんでした。
UPLOAD_ERR_NO_TMP_DIR
値は 6 で、一時フォルダーが見つかりません。 PHP 4.3.10 および PHP 5.0.3 が導入されました。
UPLOAD_ERR_CANT_WRITE
値は 7 で、ファイルの書き込みに失敗しました。 PHP5.1.0が導入されました。

3.move_uploaded_file
ファイルがアップロードされると、デフォルトでサーバーのデフォルトの一時ディレクトリに保存されます(php.iniのupload_tmp_dirが別のパスに設定されていない限り)。ファイル名ははランダムです。ファイルが移動または名前変更されていない場合、そのファイルはフォーム要求の最後に削除されます。したがって、一時ファイルは move_uploaded_file を通じて移動する必要があります。

実験後、move_uploaded_file の機能をコピーすることもできます。なぜ move_uploaded_file を使用するのでしょうか?

move_uploaded_file は、コピーによって引き起こされるセキュリティ上の脆弱性を防ぐために、アップロードされたファイルに対していくつかのチェックを行うと言われています。しかし、コピーすると具体的にどのような問題が生じるのでしょうか?
とにかく、PHP が特定の関数を与えたのですから、それは意味があるはずです。それで、まずはこのように使ってみましょう。

3. PHP ファイルのアップロードのセキュリティ チェック

$_FILES['img']['size'] と $_FILES['img']['type'] を使用して、アップロードされたファイルのセキュリティ チェックを行うことを検討できます。制限としては、アップロードの種類、アップロードファイルのサイズなどです。



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Workerman ドキュメントにファイルのアップロードとダウンロードを実装する Workerman ドキュメントにファイルのアップロードとダウンロードを実装する Nov 08, 2023 pm 06:02 PM

Workerman ドキュメントでファイルのアップロードとダウンロードを実装するには、特定のコード サンプルが必要です はじめに: Workerman は、シンプル、効率的、使いやすい高性能 PHP 非同期ネットワーク通信フレームワークです。実際の開発では、ファイルのアップロードとダウンロードが一般的な機能要件となりますが、この記事では、Workerman フレームワークを使用してファイルのアップロードとダウンロードを実装する方法と、具体的なコード例を紹介します。 1. ファイル アップロード: ファイル アップロードとは、ローカル コンピューター上のファイルをサーバーに転送する操作を指します。以下が使用されます

Laravelを使用してファイルのアップロードおよびダウンロード機能を実装する方法 Laravelを使用してファイルのアップロードおよびダウンロード機能を実装する方法 Nov 02, 2023 pm 04:36 PM

Laravel を使用してファイルのアップロードおよびダウンロード機能を実装する方法 Laravel は、Web アプリケーションの開発をより簡単かつ効率的にするための豊富な機能とツールを提供する人気のある PHP Web フレームワークです。よく使用される機能の 1 つは、ファイルのアップロードとダウンロードです。この記事では、Laravelを使用してファイルのアップロードおよびダウンロード機能を実装する方法と、具体的なコード例を紹介します。ファイルのアップロード ファイルのアップロードとは、ローカル ファイルを保存するためにサーバーにアップロードすることを指します。 Laravelではファイルアップロードを使用できます

Javaファイルアップロード例外(FileUploadException)の解決方法 Javaファイルアップロード例外(FileUploadException)の解決方法 Aug 18, 2023 pm 12:11 PM

Java ファイルアップロード例外 (FileUploadException) を解決する方法 Web 開発でよく遭遇する問題の 1 つは、FileUploadException (ファイル アップロード例外) です。この問題は、ファイル サイズが制限を超えている、ファイル形式が一致していない、サーバー構成が正しくないなど、さまざまな理由で発生する可能性があります。この記事では、これらの問題を解決するいくつかの方法について説明し、対応するコード例を示します。アップロードされるファイルのサイズを制限する ほとんどのシナリオでは、ファイル サイズを制限します

gRPC を使用して Golang でファイルのアップロードを実装するにはどうすればよいですか? gRPC を使用して Golang でファイルのアップロードを実装するにはどうすればよいですか? Jun 03, 2024 pm 04:54 PM

gRPC を使用してファイルのアップロードを実装するにはどうすればよいですか?リクエストおよびレスポンスメッセージを含むサポートサービス定義を作成します。クライアントでは、アップロードされるファイルが開かれてチャンクに分割され、gRPC ストリーム経由でサーバーにストリーミングされます。サーバー側では、ファイル チャンクが受信され、ファイルに保存されます。ファイルのアップロードが完了すると、サーバーはアップロードが成功したかどうかを示す応答を送信します。

Laravel でのファイルのアップロードと処理: ユーザーがアップロードしたファイルの管理 Laravel でのファイルのアップロードと処理: ユーザーがアップロードしたファイルの管理 Aug 13, 2023 pm 06:45 PM

Laravel でのファイルのアップロードと処理: ユーザーがアップロードしたファイルの管理 はじめに: ファイルのアップロードは、最新の Web アプリケーションにおける非常に一般的な機能要件です。 Laravel フレームワークでは、ファイルのアップロードと処理が非常にシンプルかつ効率的になります。この記事では、ファイルアップロードの検証、保存、処理、表示など、Laravelでユーザーがアップロードしたファイルを管理する方法を紹介します。 1. ファイルのアップロード ファイルのアップロードとは、クライアントからサーバーにファイルをアップロードすることを指します。 Laravel では、ファイルのアップロードは非常に簡単に処理できます。初め、

PHPを使用してFTPファイルアップロードの進行状況バーを実装する方法 PHPを使用してFTPファイルアップロードの進行状況バーを実装する方法 Jul 30, 2023 pm 06:51 PM

PHP を使用して FTP ファイル アップロード プログレス バーを実装する方法 1. 背景の紹介 Web サイト開発では、ファイル アップロードは一般的な機能です。大きなファイルのアップロードでは、ユーザー エクスペリエンスを向上させるために、多くの場合、ファイルのアップロード プロセスをユーザーに知らせるために、アップロードの進行状況バーを表示する必要があります。この記事では、PHPを使用してFTPファイルアップロードのプログレスバー機能を実装する方法を紹介します。 2. FTP ファイルアップロードのプログレスバー実装の基本的な考え方. FTP ファイルアップロードのプログレスバーは通常、アップロードされたファイルのサイズとアップロードされたファイルのサイズを計算することによって計算されます。

Golang関数でファイルアップロード処理を簡素化 Golang関数でファイルアップロード処理を簡素化 May 02, 2024 pm 06:45 PM

回答: はい、Golang はファイルのアップロード処理を簡素化する機能を提供します。詳細: MultipartFile タイプは、ファイルのメタデータとコンテンツへのアクセスを提供します。 FormFile 関数は、フォーム要求から特定のファイルを取得します。 ParseForm 関数と ParseMultipartForm 関数は、フォーム データとマルチパート フォーム データを解析するために使用されます。これらの機能を使用すると、ファイル処理プロセスが簡素化され、開発者はビジネス ロジックに集中できるようになります。

PHP ファイル アップロード ガイド: move_uploaded_file 関数を使用してアップロードされたファイルを処理する方法 PHP ファイル アップロード ガイド: move_uploaded_file 関数を使用してアップロードされたファイルを処理する方法 Jul 30, 2023 pm 02:03 PM

PHP ファイル アップロード ガイド: move_uploaded_file 関数を使用してアップロードされたファイルを処理する方法 Web アプリケーションの開発では、ファイルのアップロードが一般的な要件です。 PHP には、アップロードされたファイルを処理するための便利な関数 move_uploaded_file() が用意されています。この記事では、この機能を使ってファイルアップロード機能を実装する方法を紹介します。 1. 準備 開始する前に、PHP 環境がファイルアップロードパラメータで設定されていることを確認してください。これを行うには、php.in を開いてください。

See all articles