PHP学習している時に、すぐに忘れる画像を受け取る時に使う「$_FILES」変数の簡単な説明です。
$_FILESとは
$_FILESとはPOSTデータで受け取った画像ファイルを取り出すときに使う「スーパーグローバル変数」です。
スーパーグローバス変数とはどこからでも呼び出せる変数のことです。
公式サイト:スーパーグローバル
「$_FILES」の中身を見てみる
実際にPOSTで送られた画像データを取得して「$_FILES」の中身を見てみます。
- サンプルコード
<form action="/" method="post" enctype="multipart/form-data">
<p>画像を選んでください</p>
<input type="file" name="gazou" id="">
<p>
<input type="button" class="btn" onclick="history.back()" value="戻る">
<input type="submit" class="btn" value="OK">
</p>
</form>
適当に画像を選択してアップロード後、データを「$_FILES」に格納して、表示してみます。
アップロードファイル名:english_school.png
<php $gazou = $_FILES['gazou']; var_dump($gazou);
そうすると次のようにブラウザに表示されます。
- 結果
array(5) {
["name"]=>
string(18) "english_school.png"
["type"]=>
string(9) "image/png"
["tmp_name"]=>
string(14) "/tmp/phpcDFFJB"
["error"]=>
int(0)
["size"]=>
int(167367)
}
というように、「$_FILES」に格納すると、5つの連想配列に値が入っています。
| 配列名 | 説明 |
| name | ファイル名 |
| type | ファイルタイプ(MIME 型) |
| tmp_name | サーバー上で保存されているテンポラ リファイルの名前 |
| error | エラーコード(0はエラーなし) |
| size | ファイルサイズ(バイト) |
さらに詳細な説明は以下のサイトにあります。
公式サイト:POST メソッドによるアップロード
どのように使うのか?
「どのように使うのか?」と言うと、ブラウザでアップロードした画像を保存するときに利用します。
参考URL
以下のサイトを参考にさせていただきました。
以上です。ありがとうございました。

コメント