phpPHP開発 虎の巻

ファイルのアップロード

カテゴリ:ネット

■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 )){
 // 画像の表示
 } 
 

カテゴリ:ネットの記事