PHP自主練 / 2.5hour
Sep / 24.5hour
Total / 126hour
WEBサービス部の自主練用教材
$_FILESにはどんなデータが入っているのか?
画像データのアップロードの際に、そのデータを受信するために必要な【$_FILES】という変数。
このグローバル変数である$_FILESには、アップロードする際に必要なデータが自動で格納される。
*グローバル変数とは?
本日のプログラミング学習 PHP Lesson1~7 1hour MySQL Lesson8~15 7hour Total 24.5hour 目次 1 PHP1.1 グ[…]
例えば下記のようなコードを記述して、画像をアップロードした際に、変数$_FILESにはどんなデータが入っているのかを見てみる。
画像データ:ファイル名=aspara.jpg
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="gazou">
</form>
<? php
$pro_gazou = $_FILES['gazou'];
var_dump($_FILES);
?>
結果
array(1) { [“gazou”]=> array(5) {
[“name”]=> string(10) “aspara.jpg”
[“type”]=> string(10) “image/jpeg”
[“tmp_name”]=> string(36) “/Applications/MAMP/tmp/php/php7gJuRO”
[“error”]=> int(0)
[“size”]=> int(25073) } }
まず言えることは、$_FILESは連想配列の形式でデータが格納される、ということ。
そして自動で割り振られた5つのキー名に対して、それぞれ値が代入されていく。
[“name”]
その名の通り、画像のファイル名を表す。拡張子までを含めた名前を取得する。
[“type”]
ファイルのMIMEタイプを表す。今回の場合でいうと、imageという種類のjpgというタイプであると取得している。
MIMEタイプてなに?という方はこちら↓
PHP自主練 / 6.5hour Sep / 22.0hour Total / 123.5hour WEBサービス部の自主練用教材 気づけばプロ並みPHP 改訂版R[…]
[“tmp_name”]
サーバーで一時的に画像データが保存される際の、ファイル名を表す。
アップロードされた画像データは、サーバーの「テンポラリ」という領域に一時的に保管される。
これはプログラムが終了すると自動的に破棄されるため、このデータを保存しておくにはテンポラリ領域から、サーバーにあるフォルダにデータを移動させる必要がある。
*これを実行するには「move_uploaded_file」を使用しますが、ここでは割愛。
[“error”]
エラー判定をしている項目。
値がゼロだった場合はOKだが、何らかの要因でデータがアップロード出来ない場合はここの値が変わる。
どんなエラーの種類があるのかは、下記を参考に。
[“size”]
画像のサイズを表す。
単位は「バイト」で表される。何バイトで1キロバイトか?みたいなことは、これを憶えておけばOK。
引用元:https://enjoy.sso.biglobe.ne.jp/archives/byte/
参考
https://qiita.com/icelandnono/items/b6b3c06124d273f28673
https://www.php.net/manual/ja/features.file-upload.post-method.php