所以我在名为"core"的目录中有一个名为"init.php"的初始化文件。在这个init文件中,我在一个名为"classes"的目录中"require"了所有其他必要的组件文件,因此init.php有几行"require_one"。每次我在根目录中创建一个文件(例如创建"index.php"),我都必须包含这个文件,即"include-core/init.php"。在我尝试将这个init文件包含在另一个目录中创建的文件中之前,一切都很顺利。例如,在一个名为"levels/index.php"的目录中。每次我将这个init文件包含在根目录以外的目录中时,我都会收到一个"include"错误。
以下是我的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';
没有显示任何错误,但是另一个名为"levels"的目录中的PHP文件(source.PHP)触发了一个错误,称为
警告:require_sonce(functions/sance.php):无法打开流
以下是我的source.php文件的样子:
include '../../core/init.php';
我希望有一个解决方案,因为我将有麻烦维护我的所有文件,只在根目录。有时我会想把初始化文件包含在其他目录中的一个文件中。提前谢谢。
您应该使用绝对路径。首先定义一个路径,例如:define('ROOT_PATH', 'localshot/')
,然后包括像require_once ROOT_PATH . 'core/init.php'
这样的文件