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
以下のサイトを参考にさせていただきました。
以上です。ありがとうございました。
コメント