ファイルのアップロード
■1.Form の書き方
form タグに enctype = “multipart/form-data” を付ける。
Input タグの type は file。
例: <form action="up.php" method="post" enctype="multipart/form-data"> <input type="file" name="fname"> <input type="submit" value="アップロード"> </form>
■2.PHPでのファイルの取得
$_FILES[パラメータ名] に連想配列で各種データが入る。$_FILES[パラメータ名]['tmp_name'] アップロードされた一時ファイル名
$_FILES[パラメータ名]['name'] アップロードされた本来のファイル名
■3.ファイルアップロード関連の関数
is_uploaded_file(ファイル名) そのファイルがアップロードされたファイルかどうかmove_uploaded_file(移動元 , 移動先 ) アップロードされたファイルの移動
例:同一フォルダに本来のファイル名で格納 $tempfile = $_FILES['fname']['tmp_name']; $filename = "./" . $_FILES['fname']['name']; if (is_uploaded_file($tempfile)) { if ( move_uploaded_file($tempfile , $filename )) { echo $filename . "をアップロードしました。"; }else { echo "ファイルをアップロードできません。"; } }else { echo "ファイルが選択されていません。"; }
■4.画像をデータベースと連動し扱う例
(1).画像をアップロードし、「対応するデータの ID.jpg」というファイル名で保存する。例:商品 ID が 1 のデータの画像は 1.jpg
(2).画像を表示するページでは 対応する画像ファイル名を表示する。
例:商品 ID が 1 のデータの画像は <img src="1.jpg">
(3).画像ファイルがあるかどうかは file_exists 関数で調べることができる。
例:ファイル名が $fname の場合
if( file_exists( $fname )){ // 画像の表示 }