スレッド表示 | フラット表示〕 全トピック 920 件中 198 番目 次≫ ≪前

画像のアップローダーについて

created: 2006-08-22 19:44 | modified: 2006-08-26 11:07 | reply: 3

[3242] 画像のアップローダーについて

user: teru | created: 2006-08-22 19:44
//環境------------------------------------------------------------
Windows XP
apache_2.0.58-win32
php-5.1.4
mysql-essential-5.0.22-win32


いつも参考にさせていただいております。
PHP初心者です。
管理人様をはじめ、PHP職人の皆さんには、大変お世話になっております。

PHPで画像アップローダーを作ってみようと思っているのですが皆さんのご意見をお聞かせください。

参考書や、サンプルなどを見本にして作ってみたのですが、アップロード前に、確認画面で画像を表示してから、アップロードさせたいと思っています。

その際の方法として、どんな方法や関数を使って考えればよいのか悩んでおります。

確認画面で画像を表示させると言う仕組みを考えると、一度どこかに仮保存させてからアップロードしなければならないと思っているのですが、何か他に良い方法はあるのでしょうか?

素人質問で申し訳ございませんが、ご助言宜しくお願いします。
reply: 3243 返信 編集 削除

[3243] Re.画像のアップローダーについて

user: teru | created: 2006-08-23 14:18
書き込みした本人です。

なんとなく本を見ながら想像して作ってみました。

こんな方法で良いのかわかりませんが、テンポラリーに保存してみました。


$temp   = tmpfile();
$tmpfname  = tempnam ($temp, "temp");
$path   =dirname($tmpfname);

$file_dir  = $path."\\";

dirnameでテンポラリーのパスを収得して、そこに保存させると言う仕組みですが、どんなもんでしょうか?
Parent: 3242  reply: 3244 返信 編集 削除

[3244] アップロード前の画像表示

user: ゆうじ | created: 2006-08-23 17:40
こんばんわ。

PHPはサーバ側で動いてるので
どのような処理をおこなうにしても
一旦アップロードしなければなりません。
ユーザ側で行うには JavaScript を使っては。

と、思いましたが、ちょっと疑問がわいたので、
サーバ側のHTMLで、ユーザPCの画像が表示できるのか試してみました。

<!-- 画像ファイルのパスは実際にあるものを指定 -->
<img src="C:\document\images\xxxx.png">

こんなHTMLファイルをサーバーにアップして
ブラウザでアクセスしてみてください。
私がやったところでは、IE 以外のブラウザは、
画像ファイルを表示することが出来ませんでした。

表示されないのが正しい動作だと思います。
もし、これが表示されるなら、
サーバ側からユーザPC内の任意のファイルに
アクセスできることになり、相当危険です。
IEの場合は明らかにセキュリティーホールです。

以上のようなことから、
アップロード前に画像を表示することは無理かと思います。
一旦アップロードしてから確認画面を表示し、
保存するか否か、あらためてユーザに選択させるなどの方法を
考えてみてください。

# 本件と関係ありませんが
# - PHP職人 -
# 良い響きですね。
Parent: 3243  reply: 3251 返信 編集 削除

[3251] Re.アップロード前の画像表示

user: teru | created: 2006-08-26 11:07
ゆうじさん。こんにちは。
いつもご助言ありがとうございます。


 <img c="C:\document\images\xxxx.png"> 


↑を試した見たところ、おっしゃるとおり、画像が表示されてしまいました。

知らずにやっていたら大変なことになってましたね。
本当にありがとうございました。

あの後、自分なりに色々考えてみたのですが、結局、ご助言いただいたように、サーバーに一度アップしてから、処理する方法を考えたいと思います。

本当にありがとうございました。
Parent: 3244  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 198 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑