フォームから画像をアップロードする場合、
<input type="file"/>タグで済むハズだったのですが、
セキュリティの関係上、これではフルパスを取得できなくなっているようです。
じゃあfopen()とかでアップロードできないじゃないか、と思って調べてみたら、
<form method='post' enctype='multipart/form-data'>としておくことで
<input type="file"/>で入力されたfileデータを送れるようです。
データは勝手にテンポラリファイルに保存されて、PHPからは
$_FILES["<input>タグにつけたname"]["tmp_name"]で取得できるので、
選択したファイルの代わりにこのテンポラリファイルをfopen()すればOKです。
これは便利。

ちなみに<input type="file" value="初期値"/>で初期値を入れたり
javascriptからvalueを入力することもできなくなっているようです。
できたらいいのにってムズムズ。でもセキュリティ上の関係なら仕方ないですね。

11月 18, 2010 at 12:42 am by emesiw
Category: PHP, 覚書, 開発
Tags: