牛、豚、鶏、どれか一つ食べられなくなるとしたら?

お世話になります。
/index.php
 /aaa/index.phh
   /aaa01.jpg
   /aaa02.jpg
 /bbb/index.php
   /bbb01.jpg
   /bbb02.jpg
   /bbb03.jpg
と、いうようなフォルダ構造でホームページを作成して、
/index.php で
<body>
 ヘッダだよ<br>
 include_once("aaa/index.php");
 フッタだよ<br>
</body>
とすると、aaa/index.php に書かれてある文字を表示することができます。
しかし、画像 aaa01.jpgなどは、/以下になく、/aaa/以下にあるため、
表示されません。
そこで、include_onceと同時に
<img src="aaa01.jpg"
となっているところを、
<img src="aaa/aaa01.jpg"
と、書き換えられないものかと考えた次第です。

やりたいことは、同じヘッダフッタを持ったページで、その中に
フレームタグなどを使用することなく、
別々のフォルダに別々に作成したページ、/aaa/index.php /bbb/index.php などを
表示したいと、いうことです。

全く別の発想でも構いません、よい案などあればご紹介ください。
よろしくお願いいたします。

A 回答 (4件)

タイトルの通り、include_once 部分が php でなく html であるなら



<?php
include_once("aaa/index.php");
?>

上記の部分を、以下のような感じで出来るのでは

<?php
$html = implode('', file('aaa/index.html'));
$html = str_replace('img src="./', 'img src="./aaa/', $html);
print($html);
?>

※ただし、<img src="aaa01.jpg" は <img src="./aaa01.jpg" と記述しておく必要あります。
    • good
    • 0
この回答へのお礼

little-mさん、今晩は。
返事が遅くなり申し訳ありません。
試していました。
ばっちりです。
どうもありがとうございました。

お礼日時:2008/05/09 20:13

HTMLのbaseタグを使ってみてはどうでしょうか?



参考URLを見てみて下さい。

参考URL:http://www.htmq.com/html/base.shtml
    • good
    • 0
この回答へのお礼

tolsさん、今晩は。
貴重なレスをありがとうございます。
aaa/index.htmなどを作成するときに
フォルダ構造さえ意識していない者にとって、
ハードルが高そうです。
どうもありがとうございました。

お礼日時:2008/05/09 20:16

include_once前に出力バッファリングを宣言し、それを変数に取り出してからパスの置換をすればよいのでは。



ob_start()
ob_get_contents()
ob_end_clean()
    • good
    • 0
この回答へのお礼

superside0さん、今晩は。
貴重なレスをありがとうございます。
いろいろと試してみています。
どうも、ありがとうございました。

お礼日時:2008/05/09 20:14

画像ファイルのアドレスを、相対アドレスではなく、絶対アドレスで書くというのはどうでしょうか?

この回答への補足

higekumanさん、早速レスありがとうございます。
>絶対アドレスで書くというのはどうでしょうか?
/aaa/index.php /bbb/index.php などを書く人が、
同一フォルダの画像でないと、扱いが厳しいです。
すべてのフォルダ構造をコピーしていないような環境で、
各ページが書かれるものですので。
また、フォルダ構造について、ほとんど意識のない人が書くものですので。

補足日時:2008/05/08 16:30
    • good
    • 0

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