我遇到嵌套包含问题.虽然我看到有一些类似的问题,但它们似乎没有帮助.
一般来说,我没有包含问题,但最近我一直在尝试新的东西,我无法让嵌套的包含工作.
一个解决方案:php nested include behavior
基本设置:
> index.php包含’/include/header.php’
> header.php包含’/resources/login/index_alt.php’
> index_alt.php包含’/resources/login/index_auth.php’
> index_auth.php包含’/class/Login.class.php’和
‘/class/Connection.class/php’
我实际上并没有写这样的路径(它是为了理解深度).
这就是它在页面上的外观.
index.php文件:
> include(‘include / header.php’);
header.php :(除了/ resources / …之外,每个深度级别都包含头文件)
> include(‘../ resources / login / index_alt.php’);
index_alt.php:
> include(‘index_auth.php’);
index_auth.php:
> include(‘../../ class / Login.class.php’);
> include(‘../../ class / Connection.class.php’);
在某些深度级别,头文件被接受,但包括嵌套将不…
解决方法:
假设文件系统看起来像这样..
/www
include/header.php
class/Login.class.php
class/Connection.class.php
resources/login/index_alt.php
resources/login/index_auth.php
index.php
这意味着
index.php: include(__DIR__ . '/include/header.php');
header.php: include(__DIR__ . '/../resources/login/index_alt.php');
index_alt.php: include(__DIR__ . '/index_auth.php');
等等;见http://php.net/manual/en/language.constants.predefined.php