2

这本身不是问题,但它困扰着我,我将不胜感激。这可能很明显,但我看不到。

$root_path = $_SERVER['DOCUMENT_ROOT'] 
require($root_path .'template/header.php')
require($root_path .'template/footer.php')

该脚本将包含其中之一,但不会同时包含两者。它将运行并包含页眉但不包含页脚,如果我交换它们,它将首先加载页脚而不是页眉。

我尝试过使用include而不是require得到相同的结果。

它给出了错误allow_url_include = 0。我知道转动这个会解决它,但我的问题是为什么会这样?为什么它会包含一个文件而不包含另一个文件?有什么方法可以让它们在不打开allow_url_include的情况下同时运行(我正在努力提高安全意识)。我有 PHP 5.3 并且正在运行 WAMP。在此先感谢您的帮助!

4

3 回答 3

0

看起来你正在重新定义$root_path包含的文件。

于 2010-05-12T15:47:42.853 回答
0

也许$root_path在文件 header.php 或 footer.php 中更改?

于 2010-05-12T15:51:45.570 回答
0

你写的没有问题。$root_path正如其他人所说,在到达该包含之前,正在发生某些事情或脚本正在终止。

var_dump($root_path)在页脚上方做一个包含。如果它触发了,你就知道它正在被包含。如果它仍然不起作用,请在页脚中做一些回声,看看它是否进入了文件中。

于 2010-05-12T15:57:02.693 回答