プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になります。
ファイルアップロードするとき対象ファイルの
取得先(ローカルでのパス)も一緒に表示したいです。
例:abc.txtがc:\a\ab\abcの配下に
あるとした場合abc.txtをアップロードしたら
アップロード完了後名前、サイズ、タイプ、
ローカルでのパスc:\a\ab\abcを表示させたいです。
名前、サイズ、タイプは取得できますが
なかなか元ファイルのパス(c:\a\ab\abc)が取得できません!もしかしてPHPでは取得できないでしょうか?
そうであればほかの方法がございましたら
ご教授いただけないですか?

A 回答 (3件)

#1です。


にわか仕込みのjavascriptでローカルなパスを取得できましたので、参考までに。

<form name="form1" enctype="multipart/form-data" action="a.php" method="POST">
<!--↓こいつをファイルパス用に-->
<input type="hidden" name="filepath" value="">
<!--↓ファイル名がかわったら↑のvalueにファイルのパスを代入 onChange部分 -->
file: <input name="userfile" type="file" onChange="document.form1.filepath.value =this.value;">
<input type="submit" value="Send File">
</form>

<?php
echo $_POST["filepath"];
?>
    • good
    • 0
この回答へのお礼

よいアドバイスありがとうございます。
結局JAVASCRIPTで取得することになりました。
上記のコードが非常にいいヒントになりました。どうも
ありがとうございます。PHP5上では
さすがむりでした。サイズ、属性などは
とれましたがパスに限ってはできませんでした。
お勉強させていただきました。

お礼日時:2006/07/04 13:39

パスを渡しても、再利用することはできないので


意味がありません。
逆にPCの設定を盗み見ようとしてるというあらぬ
非難をうける可能性もあるので、やるメリットは
なにもないと思いますがいかがでしょうか?
    • good
    • 0
この回答へのお礼

ご返答ありがとうございました。
やはりPHP上では無理でした。
いろいろ探してみましたが
駄目でした。結局JAVASCRIPTで実現する
ことになりました。ありがとうございます。

お礼日時:2006/07/04 13:36

http://ns1.php.gr.jp/pipermail/php-users/2003-Ap …

にあるように、javascriptで無理やり渡す方法があるようですが、私はjavascriptに詳しくないので詳しい方法はアドバイスできません。

PHPで無理やりするとなれば、$HTTP_RAW_POST_DATA を使う方法があるかと思います。POSTの生データが入っているので、これを無理やり解析するわけです。ただこの変数を使うには、php.ini で、

always_populate_raw_post_data = On

となっていなければいけませんし、PHP 4.3.0 以上ではデフォルトでOffになっているっぽいので、レンタルサーバなどをお使いの場合はjavascriptを使ったほうがよいかもしれませんね。

PHPで他の方法があるかもしれませんが、一応アドバイスということで・・・。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!