ホームページ  >  記事  >  バックエンド開発  >  php $_FILES は何に使用されますか?

php $_FILES は何に使用されますか?

PHPz
PHPzオリジナル
2016-06-13 11:58:402213ブラウズ

php $_FILES は主にファイルのアップロードを処理するために使用され、その役割はアップロードされたファイルに関連するさまざまな情報を保存することであり、この情報は PHP スクリプトを通じてサーバーにアップロードされるファイルにとって重要です。

php $_FILES は何に使用されますか?

php $_FILES はファイルのアップロードを処理します

ご存知のとおり、ファイルのアップロードは一部の Web サイトで使用されている重要な部分です。たとえば、個人のブログではパーソナライズされたアバターがアップロードされ、一部のフォーラムでは優れた学習教材が共有されます。これには、ファイルのアップロードを処理するためのフォームの使用に関する知識が含まれます。PHP では、$_FILES グローバル配列を使用して処理できます。

基本的なファイルアップロード処理部分を見てみましょう。まず、ファイルをアップロードできることにはセキュリティ上のリスクがあることに注意してください。そのため、この部分の機能を開発するときは、Web サイトのセキュリティに注意を払う必要があります。

この記事で説明しているのは基本的なファイルのアップロード部分のみであり、セキュリティについてはあまり考慮されていませんので、将来の高度なアプリケーションで学習していただければ幸いです。

PHP の事前定義変数のセクションでは、グローバル変数 $_FILES を含むいくつかの事前定義変数について一般的な学習を行いました。次に、このグローバル変数について詳しく学習しましょう。ファイルのアップロード処理時の関連機能。

$_FILES パラメータの詳細な説明:

  1. $_FILES["file"]["name"] – アップロードされたファイルの名前

  2. $_FILES["file"]["type"] – アップロードされるファイルのタイプ

  3. $_FILES["file"] ["size" ] – アップロードされたファイルのサイズ (バイト単位)

  4. $_FILES["file"]["tmp_name"] – 保存されているファイルの一時コピーの名前サーバー上

  5. $_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 サイト をご覧ください。 !

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