htmlフォームには画像をアップロードする機能がありますが、それを受けとるのにはPHPを使います。
アップロードされた画像ファイルの処理
パラメータはアップロード後に$_GET[]や$_POST[]のように、連想配列でファイルのステータスを取得できます。
$_FILE[フィールドのname][“name”] … 送られたファイルの名前
$_FILE[フィールドのname][“size”] … 送られたファイルのサイズ
$_FILE[フィールドのname][“tmp_name”] … 一時ファイルの名前
例1:test11_1.php
<form action="test11_2.php" method="post" enctype="multipart/form-data"> 画像ファイル<br> <input type="file" name="pic"> <br> <input type="submit" name="botan" value="send"> </form>
例2:test11_2.php
<?php if(strlen($_FILES["pic"]["name"])>0) { print "name="; print $_FILES["pic"]["name"]; print "<BR>"; print "size="; print $_FILES["pic"]["size"]; print "<BR>"; print "tmp_="; print $_FILES["pic"]["tmp_name"]; print "<BR>"; } else { print "ファイルをアプロードしてください"; } ?>
test11_1.phpはファイルをアップロードするフォームです。
実行するとアップロードする画像ファイルを選択するフォームを出現させます。
これで「send」を押すとアップロードし、そのアップロードされた
ファイルの情報を表示するtest11_2.phpへジャンプします。
test11_2.phpではstrlen($_FILES[“pic”][“name”])にファイル名の文字列の長さが返り
「$_FILES[“pic”][“name”]」が空の状態の時や無名の場合は
アップロードしていない、もしくはアップロードに失敗したと判定し
「ファイルをアプロードしてください」と表示されます。
空ではなかった場合、以下のように送ったファイルの名とサイズと一時ファイルの名前が表示されます。
一時ファイルにアップロードされたファイルが保存されています。
あくまでも、これは一時ファイルなので、このままでは消滅してしまいます。
なので指定の場所へ移動しなければなりません。
次回はこれを指定の場所へ移動する方法を説明します。