PHPコーディング

画像のアップロードと同時に【img】タグを書き込む

2008年12月04日
自前ブログ記事投稿画面で画像の登録をコーディングしてみました。







のようなフォームがあるとします。
画像をアップロードすると、テキストエリアに【img】タグを追加します。


PHP側ではくhtml
<form method="post" action="処理ファイル名" enctype="multipart/form-data" name="frmINS">
 <textarea name="body" cols="80" rows="40" wrap="soft">$body</textarea>
 <input type="button" value="ファイルアップロード" onClick='AddImageTag()'>
 <input type="submit" value="登録">
</form>


JavaScript
function AddImageTag(){
 document.frmINS.mode.value = 'UpLoad';
 document.frmINS.submit();
}

$modeの値をUpLoadに設定してサブミットします。


PHPで$modeがUpLoadのときの処理
アップロードしたファイルの情報は、$_FILESから利用できます。

$result = move_uploaded_file($_FILES['file']['tmp_name'], 保存ファイルパス);
アップロードしたファイルは、テンポラリファイルに保存されています。それを保存したいディレクトリ、ファイル名で移動させます。

list($width, $height, $type, $attr) = getimagesize(保存ファイルパス);
保存したファイルの情報を取得できます。

$body.= "<img src=\"保存ファイルパス\" width=\"".$width."\" height=\"".$height."\" alt=\"\" />\n";


これでテキストエリアに【img】タグが追加できます。

またずいぶん楽になりました。