在PHP中的所有目录中需要初始化文件

时间:2015-06-27 20:58:14

标签: php directory init

所以我有一个名为&#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';

我希望有一个解决方案可以解决这个问题,我将无法维护仅位于根目录下的所有文件。有时我想将初始化文件包含在其他目录中的文件中。提前谢谢。

1 个答案:

答案 0 :(得分:0)

你应该使用绝对路径。首先定义一个路径,只有exmaple:define('ROOT_PATH', 'localshot/')然后包含像require_once ROOT_PATH . 'core/init.php'

这样的文件