DAY 48 PHP自主練 $_FILESに格納されるデータ

DAY 48 PHP自主練 – $_FILESに格納されるデータ 【ウェブカツ 】

PHP DAY 48 PHP自主練 $_FILESに格納されるデータ

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 グ[…]

DAY 6 PHP & MySQL

 

例えば下記のようなコードを記述して、画像をアップロードした際に、変数$_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[…]

DAY 47 PHP自主練 MIMEタイプってなんだ?

 

[“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

 

DAY 48 PHP自主練 $_FILESに格納されるデータ
最新情報をチェックしよう!