这可能是一个有点愚蠢的问题。假设我有一个这样的目录:
./index.php
./browse/blog.php
./browse/articles.php
./browse/categories.php
./includes/header.php
./includes/footer.php
./classes/init.php
./classes/core.php
./user/login.php
./user/register.php
我的init.php和core.php需要包含在我的所有文件中,例如index.php和blog.php,articles.php和categories.php。
如果我在header.php中包含core.php和init.php,它在index.php中工作正常。但它在articles.php,blog.php等中基本上没有任何文件夹(浏览器或用户)
header.php包含include_once('../classes/core.php');
和include_once('../classes/init.php');
所以我的问题是如何将文件包含在另一个文件中,该文件包含在另一个文件中。
让我重新说一下。我希望core.php和init.php包含在header.php中,该文件包含在所有其他文件中。像index.php和文件夹中的其他文件。
我可以使用相对文件路径实现此目的吗?
答案 0 :(得分:0)
的header.php
include("../classes/init.php");
include("../classes/core.php");
的login.php
include("../includes/header.php");
..等等..
答案 1 :(得分:0)
你可以使用相对路径,但你最好先将$_SERVER['DOCUMENT_ROOT']
添加到你的文件名中以保持简单。
有关您的评论的更新:
$_SERVER['DOCUMENT_ROOT']
为您提供变量中的webroot路径。
$doc_root = $_SERVER['DOCUMENT_ROOT'];
include $doc_root . '/includes/whatever.php';
无论调用脚本在哪个目录中,它总是会提供一个绝对路径。它只会简化生活,这意味着您无需弄清楚需要多少点和斜线才能返回到文件中想要包括。