PHP包含目录

时间:2013-06-01 22:14:49

标签: php url include directory

我正在试图弄清楚如何让我的php包从不同目录中的文件中正常工作。

例如,我的布局header.php包含在index.php中 - 它位于root/目录中。然后,我有一个位于root/pages/etc/lib.php的页面 - 它还需要使用header.php。现在,显然我可以为索引执行include "header.php",为include "../../header.php"文件执行lib.php,但后来又遇到了另一个问题......

我的header.php也有自己的php包含,相对路径是相对于原始网页(index.phplib.php)而不是header.php

解决方案是简单地提供包含的完整URL还是有另一种方法来执行此操作?我可以为任何包含的php文件做URL,它会起作用吗?

2 个答案:

答案 0 :(得分:0)

大多数服务器不允许在include中使用http包装器。您可以使用文档根目录:

$_SERVER['DOCUMENT_ROOT']

您可以将它放在var中,并将其与每个include一起使用。 (或定义它)

答案 1 :(得分:-1)

一种方法:
include $_SERVER['DOCUMENT_ROOT'].$pathToYourIncludeFileOnTheServer;

另一个是在php.ini中设置php include_path。如果你在include_path中指定的目录中包含一个文件php,那么如果一个文件与include匹配,那么就选择该文件。

直接通过http://www.server.com/include.php包含通常是一个问题,因为如果您使用免费的虚拟主机或类似的东西,有时会在php.ini中禁用allow_url_include。