- ベストアンサー
【PHP】絶対パスで読み込みたいのですが・・・。
いつもお世話になっています。 現在PHPでページを作っているのですが、 ./index.php?h=index.html といったようにindex.phpファイル上に同じ階層にあるファイルを読み込んでいます。 ここに他のサーバーにおいてあるファイル(例:http://www.goo.ne.jp/sample.html)を読み込むことは可能なのでしょうか? それともやはり同一階層・ドメイン内にあるものしか読み込めないのでしょうか? 分かりにくい質問で申し訳御座いません。 よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
蛇足ですがurlはきちんとエンコードしてパラメータ渡ししてください http://hoge/index.php?h=http%3A%2F%2Fwww.yahoo.co.jp <?PHP $url=$_GET["h"]; if(url_exists($url)) print htmlspecialchars(file_get_contents($url)); function url_exists($url){ $handle = @fopen($url, "r"); if ($handle === false) return false; fclose($handle); return true; } ?>
その他の回答 (2)
- hrm_mmm
- ベストアンサー率63% (292/459)
php.iniの設定で、allow_url_fopen が有効であれば、http:// というurl表記でファイルをfopen()やfile()関数で取得出来ます。 http://php.s3.to/man/ref.filesystem.html#ini.allow-url-fopen セキュリティには十二分にご注意下さい。
- galluda
- ベストアンサー率35% (440/1242)
がると申します。 スキーマがhttpであれば一応可能ですが。 そのつくりは、ものすごく簡単に「ディレクトリトラバーサル(パストラバーサル)」という脆弱性を生みます。 基本的には「やめる」か、でなければ「よほど神経配って知識しっかり得て作る」ほうがよろしいかと思われます。