2

次の行を含む config.php ファイルがあります。

define("home_dir",'soft06/site_name');

index.php ファイルには次のものがあります。

include_once ("config.php")
... some html code ....
include_once (home_dir."/footer.php")

それはうまくいきます。ただし、footer.php に次の行を入れた場合:

echo("home_dir=".home_dir);

私は得る:

Notice:  Use of undefined constant home_dir - assumed 'home_dir' in <b>D:\xampp\htdocs\footer.php on line 3
home_dir=home_dir

しかし、次のように footer.php を含めることを選択した場合: include_once ("footer.php")代わりに、正常include_once (home_dir."/footer.php") に動作します。

include_once 関数で定数 home_dir を使用すると、インクルード ファイル内の home_dir 値が失われるように思えます。

どんな助けでも大歓迎です。

4

1 に答える 1

1

だからあなた

include_once (home_dir."/footer.php")

http 経由でファイルをインクルードしようとしています :^ ) そして、インクルードする前に実行されました。そのため、別の http リクエストで実行されている footer.php があり、home_dir が定義されていませんでした。

インクルードにはローカルパスを使用する必要があります。

于 2013-02-28T06:06:13.823 に答える