所以我有一个名为&#34的初始化文件; init.php"在名为" core"的目录中。在这个init文件中,我有" required"名为" classes"的目录中的所有其他必要组件文件。因此init.php有几行" require_once"。每次我在根目录中创建一个文件时(例如创建" index.php"),我必须包含这个文件,即" include core / init.php"。一切顺利,直到我尝试将此init文件包含在另一个目录中创建的文件中。例如,在名为" levels / index.php"的目录中。我不断得到一个"包括"每次我将此init文件包含在根目录以外的目录中时出错。
这是我的init.php文件的样子:
//load all class files automatically
spl_autoload_register(function($class) {
require_once 'classes/' . $class . '.php';
});
//include functions
require_once 'functions/sanitize.php';
require_once 'functions/functions.php;
现在位于根目录的index.php文件如下所示:
include 'core/init.php';
没有显示错误,但是另一个PHP文件例如(source.php)在名为" levels"的目录中。引发错误说
警告:require_once(functions / sanitize.php):无法打开流
这是我的source.php文件的样子:
include '../../core/init.php';
我希望有一个解决方案可以解决这个问题,我将无法维护仅位于根目录下的所有文件。有时我想将初始化文件包含在其他目录中的文件中。提前谢谢。
答案 0 :(得分:0)
你应该使用绝对路径。首先定义一个路径,只有exmaple:define('ROOT_PATH', 'localshot/')
然后包含像require_once ROOT_PATH . 'core/init.php'