人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

phpで下記のように、外部のURLを入れたとき、このページのパスが相対パスで書かれているため、画像などがうまく表示されません。
パスの参照先を指定することはできるのでしょうか?
<HTML>
<TITLE></TITLE>
</HEAD>
<BODY>
<?php
include 'http://www.gaibu.jp
?></BODY>
</HTML>

●質問者: SlowLife
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:PHP URL パス 画像 相対パス
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● worldtravel
●27ポイント

<HTML>

<TITLE></TITLE>

</HEAD>

<BODY>

include 'http://www.gaibu.jp';

?></BODY>

</HTML>


というように「';」が足らないだけと言うことではなくてですか?

間違っていたらポイント不要です

◎質問者からの返答

ごめんなさい、コピー&ペーストミスです。「';」が足らないせいではありません


2 ● kidd-number5
●27ポイント

たとえば取得先では

<img src="./dir/image.gif">

のようになっているのでしょう。

たとえばこの場合、取得したデータに対して全て

./ → http://www.gaibu.jp/

という置換を行えば、基本的には出力されるのではないでしょうか。

厳密にはもっと細かい正規表現などが必要になりますけど・・・。

../があった場合はそれなりに置換しないといけないですし。

ちなみにこの場合は、includeではなく、file関数かなんかで取って来て、その結果をreplace関数などで変換する必要があります。

ほかには

http://www.htmq.com/html/base.shtmlのように、headの間に

<base href="http://www.gaibu.jp">

をはさんでおくというのも良いかもしれません。

◎質問者からの返答

ありがとうございます

試してみます


3 ● ヨネちゃん
●26ポイント
<?php
$url="http://www.gaibu.jp/";
$contens=file_get_contents($url);
$contens=eregi_replace("<body","<head><base href=\"$url\"></head><body",$contens);
echo $contens;
?>

これで大丈夫だと思います。

ただし、ソースは上記が全てです。

<HTML>等は読み込み先に記述してあるはずです。

http://acappella.cc/test/inq/

実行例

◎質問者からの返答

ありがとうございます

これも試してみます

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ