链接到PHP包括

时间:2013-09-15 02:10:26

标签: php include

我正在使用PHP包含我的标题/导航,但有些页面无法找到该文件。我正在使用根级链接

<?php include("/includes/masthead.php"); ?>

但根文件夹之外的页面未找到标头文件。例如:

index.php找到并处理masthead.php就好了; 采用/ adoptadog / php会返回错误,说文件不存在。

这是因为PHP不像HTML那样处理链接,所以我的根相对链接不是由php include函数解释的吗?

我希望能够在我的include语句中使用根相对链接,以便该语句可以进入Expression Web模板。无论页面的位置如何,模板似乎都在每个页面中写入相同的地址。也许它没有像在HTML中那样看到PHP标签中的链接 - 我不知道。

我希望这很清楚。有什么帮助吗?

2 个答案:

答案 0 :(得分:2)

您可以使用文档根作为锚点:

include $_SERVER['DOCUMENT_ROOT'] . '/includes/masthead.php';

如果您包含的文件位于文档根目录之外的一个级别,则只需移动它:

include dirname($_SERVER['DOCUMENT_ROOT']) . '/includes/masthead.php';

如果您的脚本由位于文档根目录本身的所有页面加载,则可以使用常量:

define('PROJECTDIR', dirname(__FILE__));

包括桅杆头:

include PROJECTDIR . '/includes/masthead.php';

答案 1 :(得分:0)

尝试将其放在脚本的顶部:

set_include_path(get_include_path() . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT']);

或者转到php.ini文件并更新include_path指令以始终搜索您的webroot目录。