[PHP-users 12685] Re: ファイルアップロードの処理方法について
しょうなり [ml]
php-users@php.gr.jp
Tue, 21 Jan 2003 00:33:04 +0900
しょうなりです。
試してみる時間が取れましたので、
冨永さんの試行を待たず、自分で一部をやってみました。
>1)2→3の処理の際にもファイルアップロードをする。
>3)JavaScript を使ってよろしいみたいですので、
> 1→2では、転送する画像のローカルのパスだけを送信し
> (つまりこの場合 $fullpath_name だけです)、
> 2→3で正式にファイルを転送するようにします。
この1)と3)についてですが、どちらも2のスクリプトで
"file"属性の INPUTタグに、VALUEを初期値で与えられなければ
できない方法だったのですが、それが少なくとも Windows+IE6.0 では
できませんでした。
<body onLoad="document.forms[0].userfile.value='ファイル名'">
という、ページを読み込んだら JavaScriptを動かして値を代入する
という方法も試してみましたが、できませんでした。
落ち着いて考えてみたら、これができてしまったら
ユーザーのローカルディスクの任意のファイルをアップロードさせる
スクリプトが書けてしまうので、大変なセキュリティホールだと言えます。
僕は、1)と3)は実現不可能だと判断しました。
このように少し試せば実現不可能だとわかる話を技術系MLに
投げてしまって反省しています。(がっくり)
惑わすような発言をして申し訳ありませんでした。
なお、3)の
> 2の画面で CSSも使って、
><span style="display:none"><!-- CSS で画面表示しないと設定する -->
><INPUT NAME=\"UserFile\" TYPE=\"file\" SIZE=32
> ACCEPT=\"image/jpeg,image/gif,image/txt\" value=".$fullpath_name.">
></span>
>とすれば、ファイル送信を隠し属性っぽく使えるかもしれません。
のほうは、CSSで隠していても送信できるようです。
Windows+IE6.0 で確認しました。
もちろん TYPE="hidden" とするのと結果は同じなので、
ほとんど意味がありませんが…。
& PHPと関係のない話題ですいません。
--
print <<<SIGNATURE
しょうなり@信州 肥田昌也
Email: shounari@webappli.jp
HomePage: http://www.webappli.jp/ => JSlayout 評価版
SIGNATURE;