PHP include の include やっぱり問題

やっぱり PHP の相対 include がうまくいかない。

それはこんな場合。

/index.php
/include/include.php
/config/config.php

/index.php

require_once( "include/include.php" );

/include/include.php

require_once( "../config/config.php" );

/config/config.php

echo "HOGE";

/index.php を実行すると、/include/include.php が /config/config.php をインクルードする所でエラーが出ちゃいます。

調べてみると。

英語のマニュアルで見つけてしまいました。
PHP: include - Manual

If filename begins with ../, it is looked only in include_path relative to the current working directory.

日本語のマニュアルには書いてないよ!
PHP: include - Manual

訳すと多分こんな感じ。

もしファイル名が ../ で始まっていた場合、読み込むファイルはカレントのワーキングディレクトリからの include_path でのみ探されます。どうだ分かりにくいだろう。ざまあみろ。

つまり。
PHP はカレントのスクリプトから親階層のディレクトリをたどって相対的に include することができない。

C / C++ の #include と全く同じようにはなってないようです。ややこしいよ PHP !

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: PHP include の include やっぱり問題

このブログ記事に対するトラックバックURL: http://je-pu-pu.jp/blog/mt-tb.cgi/433

コメントする

このブログ記事について

このページは、が2005年9月 4日 23:59に書いたブログ記事です。

ひとつ前のブログ記事は「2005/09/03 今週のまとめ」です。

次のブログ記事は「ReBirth 無料配布開始」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.0