htmlフォームには画像をアップロードされたファイルは、一時ファイル(テンポラリファイルとも言います)で保存されています。
この一時ファイルはこのままでは消滅しますので通常ファイルとして移動する必要があります。
一時ファイルの処理
■move_uploaded_file(一時ファイルの名前,新しいファイルの名前);
「一時ファイルの名前」は$_FILE[フィールドのname][“tmp_name”]です。
「新しいファイルの名前」にはサーバーに保存するファイル名を指定します。
サーバー上に同名のファイルがある場合は上書きになります。
例1:test12_1.php
<form action="test12_2.php" method="post" enctype="multipart/form-data"> 画像ファイル<br> <input type="file" name="pic"> <br> <input type="submit" name="botan" value="send"> </form>
例2:test12_2.php
<?php
if(strlen($_FILES["pic"]["name"])>0)
{
$filename=$_FILES["pic"]["name"];
if(! move_uploaded_file($_FILES["pic"]["tmp_name"],$filename) )
{
print "アップロードに失敗しました<br>";
}
else
{
print "name=";
print $filename;
print "<BR>";
print "<IMG src='$filename'>";
print "<BR>";
}
}
else
{
print "ファイルをアプロードしてください";
}
?>
この例ではアップロードで指定したファイルと
同名のファイルをサーバー上に作成し
そのファイルの名前と内容をブラウザ上で表示します。
アップロードに失敗すると「アップロードに失敗しました」と表示されます。
次回は拡張子によるファイルの画像かどうかの判定を行います。