0

这可能是一个有点愚蠢的问题。假设我有一个这样的目录:

./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 和文件夹中的其他文件。

我可以使用相对文件路径来实现这一点吗?

4

2 回答 2

0

头文件.php

include("../classes/init.php");
include("../classes/core.php");

登录.php

include("../includes/header.php");

..等等..

于 2014-02-28T16:28:51.677 回答
0

可以使用相对路径,但最好在$_SERVER['DOCUMENT_ROOT']文件名前添加以保持简单。

关于您的评论的更新:

$_SERVER['DOCUMENT_ROOT']为您提供变量中的 webroot 路径。

$doc_root = $_SERVER['DOCUMENT_ROOT'];
include $doc_root . '/includes/whatever.php';

无论调用脚本在哪个目录中,它都将始终提供绝对路径。它只是让生活变得简单,意味着您不必弄清楚需要多少点和斜线才能返回到要包含的文件.

于 2014-02-28T16:30:05.323 回答