Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 文件目录_Php_Php Include - Fatal编程技术网

Php 文件目录

Php 文件目录,php,php-include,Php,Php Include,这个问题可能有点傻。假设我有这样一个目录: ./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

./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等基本上不适用于文件夹浏览或用户浏览中的任何内容

php包含includeonce'../classes/core.php';并包括_once'../classes/init.php'

所以我的问题是,我怎样才能将一个文件包含在另一个文件中,而这个文件又包含在另一个文件中

让我重新措辞。我希望core.php和init.php包含在header.php中,header.php包含在所有其他文件中。例如index.php和文件夹中的其他文件

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

header.php

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

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

您可以使用相对路径,但最好在文件名前面加上$\u SERVER['DOCUMENT\u ROOT',以保持简单

关于您的评论的最新信息:

$\u服务器['DOCUMENT\u ROOT']在变量中为您提供webroot路径

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

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

如果您正在执行“包含在…”。。。。您必须记住,相对路径将是相对于启动所有内容的主文件的。如果index.php包含包含头的login,那么登录文件中的../includes/header将相对于index.php的路径,而不是login的路径。另外,我将用require替换include和include_一次_once@hermann,只要您管理您的include,include的性能就更好。。如下文所述,MueRChange包括“../”和require_once“../”。@MueR,require_once没有你想象的那么酷,它是一个先进行检查的包含包装器,因此实际上比自己管理包含要慢。但是,要在cookie中包含诸如数据库连接和会话数组之类的内容,您不需要一次吗?将包括work?Require_once可防止重复加载文件,这很有用。唯一不应该使用require/include_的时间是在循环中。重复初始化您的代码是一件令人讨厌的事情。我不太了解$\u SERVER['DOCUMENT\u ROOT']及其工作原理。如何将其包括在内。我在网上读过,但对我来说没有多大意义,或者可能没有得到正确的解释。如何使用$\u服务器['DOCUMENT\u ROOT']?