• ベストアンサー

アップロードの際にファイルパス

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

質問者が選んだベストアンサー

  • ベストアンサー
  • arcsin
  • ベストアンサー率70% (28/40)
回答No.2

#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"]; ?>

roba1234
質問者

お礼

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

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

パスを渡しても、再利用することはできないので 意味がありません。 逆にPCの設定を盗み見ようとしてるというあらぬ 非難をうける可能性もあるので、やるメリットは なにもないと思いますがいかがでしょうか?

roba1234
質問者

お礼

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

すると、全ての回答が全文表示されます。
  • arcsin
  • ベストアンサー率70% (28/40)
回答No.1

http://ns1.php.gr.jp/pipermail/php-users/2003-April/014972.html にあるように、javascriptで無理やり渡す方法があるようですが、私はjavascriptに詳しくないので詳しい方法はアドバイスできません。 PHPで無理やりするとなれば、$HTTP_RAW_POST_DATA を使う方法があるかと思います。POSTの生データが入っているので、これを無理やり解析するわけです。ただこの変数を使うには、php.ini で、 always_populate_raw_post_data = On となっていなければいけませんし、PHP 4.3.0 以上ではデフォルトでOffになっているっぽいので、レンタルサーバなどをお使いの場合はjavascriptを使ったほうがよいかもしれませんね。 PHPで他の方法があるかもしれませんが、一応アドバイスということで・・・。

すると、全ての回答が全文表示されます。

関連するQ&A