php $_FILES は主にファイルのアップロードを処理するために使用され、その役割はアップロードされたファイルに関連するさまざまな情報を保存することであり、この情報は PHP スクリプトを通じてサーバーにアップロードされるファイルにとって重要です。
php $_FILES はファイルのアップロードを処理します
ご存知のとおり、ファイルのアップロードは一部の Web サイトで使用されている重要な部分です。たとえば、個人のブログではパーソナライズされたアバターがアップロードされ、一部のフォーラムでは優れた学習教材が共有されます。これには、ファイルのアップロードを処理するためのフォームの使用に関する知識が含まれます。PHP では、$_FILES
グローバル配列を使用して処理できます。
基本的なファイルアップロード処理部分を見てみましょう。まず、ファイルをアップロードできることにはセキュリティ上のリスクがあることに注意してください。そのため、この部分の機能を開発するときは、Web サイトのセキュリティに注意を払う必要があります。
この記事で説明しているのは基本的なファイルのアップロード部分のみであり、セキュリティについてはあまり考慮されていませんので、将来の高度なアプリケーションで学習していただければ幸いです。
PHP の事前定義変数のセクションでは、グローバル変数 $_FILES を含むいくつかの事前定義変数について一般的な学習を行いました。次に、このグローバル変数について詳しく学習しましょう。ファイルのアップロード処理時の関連機能。
$_FILES パラメータの詳細な説明:
$_FILES["file"]["name"] – アップロードされたファイルの名前
$_FILES["file"]["type"] – アップロードされるファイルのタイプ
$_FILES["file"] ["size" ] – アップロードされたファイルのサイズ (バイト単位)
$_FILES["file"]["tmp_name"] – 保存されているファイルの一時コピーの名前サーバー上
$_FILES["file"]["error"] – ファイルのアップロードによって発生したエラー コード
$ _FILES["file" ]["error"] 値の状況:
UPLOAD_ERR_OK
0: エラーは発生せず、ファイルは正常にアップロードされましたUPLOAD_ERR_INI_SIZE
1: アップロードされたファイルが php.ini の Upload_max_filesize (デフォルトは 2M) オプションで制限された値を超えていますUPLOAD_ERR_FORM_SIZE
2: アップロードされたファイルのサイズが php.ini の MAX_FILE_SIZE オプションで指定された値を超えていますHTML フォームUPLOAD_ERR_PARTIAL
3: ファイルの一部のみがアップロードされましたUPLOAD_ERR_NO_FILE
4: ファイルはアップロードされませんでした
5: アップロードされたファイルのサイズは 0
最も基本的なファイルのアップロードを見てみましょう:
<html> <body> <form action=”upload-file.php” method=”post” enctype=”multipart/form-data”> <label for=”file”>文件名:</label> <input type=”file” name=”file” id=”file” /> <br /> <input type=”submit” name=”submit” value=”提交” /> </form> </body> </html>
upload-file.php コードは次のとおりです:
<?php if ($_FILES["file"]["error"] > 0) { echo “错误: ” . $_FILES["file"]["error"] . “<br />”; } else { echo “文件名: ” . $_FILES["file"]["name"] . “<br />”; echo “类型: ” . $_FILES["file"]["type"] . “<br />”; echo “大小: ” . ($_FILES["file"]["size"] / 1024) . ” Kb<br />”; echo “存储位置: ” . $_FILES["file"]["tmp_name"]; } ?>
word ファイルを作成し、処理結果を確認します。 方法:
文件名: css.doc 类型: application/msword 大小: 81.5 Kb 存储位置: C:\WINDOWS\temp\php7D.tmp
このファイルが一時ディレクトリ C: WINDOWStemp に保存されていることがわかります。このファイルがこのディレクトリに存在するかどうかを確認したい場合があります。結果は「いいえ、なぜですか?」 PHP はこのスクリプトの実行後に生成したファイルを削除するため、アップロード後にさらに処理が必要です。さらに、Windows では、php7D.tmp などの php によって生成される一時ファイルは通常のものであることにも言及したいと思います。つまり、フォームを通じてアップロードされる次のファイルは次のようになります: php7E.tmp
アップロードしたファイルを保存するには、move_uploaded_file 関数を使用します。 Upload-file.php ファイルと同じディレクトリにアップロード フォルダーを作成します。上の例を見てみましょう:
<?php if ($_FILES["file"]["error"] > 0) { echo “错误: ” . $_FILES["file"]["error"] . “<br />”; } else { echo “文件名: ” . $_FILES["file"]["name"] . “<br />”; echo “类型: ” . $_FILES["file"]["type"] . “<br />”; echo “大小: ” . ($_FILES["file"]["size"] / 1024) . ” Kb<br />”; } if (file_exists(”upload/” . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . ” 文件已经存在. “; } else { move_uploaded_file($_FILES["file"]["tmp_name"], “upload/” . $_FILES["file"]["name"]); echo “文件已经被存储到: ” . “upload/” . $_FILES["file"]["name"]; } ?>
結果を見てみましょう:
文件名: css.doc 类型: application/msword 大小: 81.5 Kb 文件已经被存储到: upload/css.doc
この処理ステップの後、次の場所で結果を取得できます。指定された (アップロード) アップロードされたファイル。この時点で、最も基本的なファイルのアップロードは終了です。
関連知識の詳細については、PHP 中国語 Web サイト をご覧ください。 !