ファイルのアップロードのやり方をまとめます。
任意の名前でphpファイルを作成し、以下のように書き込んでください。
今回は1つのファイルで試します。
以下のファイルを作成して、画像ファイルを読み込ませてみてください。
//■フォーム
<form action="#" method="post" enctype="multipart/form-data">
<p><input type="file" name="upload_file"></p>
<button type="submit" name="operation" value="send">登録</button>
</form>
//■フォームで送信した情報を表示させる
<?php if($_POST['operation'] == "send"): ?>
//アップロードされたファイルを一時保存場所から任意の場所に移動させる
<?php move_uploaded_file($_FILES['upload_file'][tmp_name], "./{$_FILES['upload_file']['name']}"); ?>
//アップロードされたファイルをブラウザに表示
<img src="./<?=$_FILES['upload_file']['name']?>">
<?php endif; ?>
■「enctype=”multipart/form-data”」について
これを書かないとファイル名のみを送信してしまい、ファイル自体はアップロードされません。
■inputタグのtypeはfileを使います。
■「$_FILES」について
ファイルの情報は$_FILESで受け取ります。
enctype=”multipart/form-data”を指定したフォーム中で、「type=file」を指定したinputタグの値は$_FILESにセットされます。
「type=file」を指定したinputタグの値のみ$_FILESにセットされ、その他の値は通常通り$_POSTにセットされます。
以下は$_FILESをprint_rで表示させたものです。
Array
(
[upload_file] => Array //inputタグで設定したname属性の値
(
[name] => test.jpg //元のファイル名
[type] => image/jpeg //MIMEタイプ
[tmp_name] => /tmp/phph2KlYT //ファイルの格納先
[error] => 0 //アップロード時のエラー
[size] => 83022 //ファイルサイズ(単位:バイト)
)
)