这是我正在使用的代码(它是 index.php 文件)
/* Set an include path
*/
$dir = explode('/', __DIR__);
$i = count($dir);
unset($dir[$i-1], $dir[$i-2]);
$path = implode('/', $dir);
ini_set('include_path', $path);
// require('system/base/file.php'); // ***1
/* Starter file
*/
if (file_exists('system/base/file.php')) { require('system/base/file.php'); }
else { exit('Error'); }
我正在开发一个具有这种结构的框架
application/
public/
index.php
system/
我想将包含路径设置为根/(包含应用程序/和系统/的文件夹)。__DIR__
给了我很多东西,例如Application/xammp/htdocs/application/public/index.php
(在本地主机中);__DIR__
考虑到我最初对路径一无所知,我不确定客户是否有很大不同。我刚刚写了前几行,以便轻松地从DIR中删除最后 2 个文件夹,所以我确信路径是正确__DIR__
的。我在另一个测试设置中测试了这些行,它们工作正常。
发生的奇怪事情是,如果我运行显示在那里的代码,它会给我“错误”。如果我只是system/base/file.php
在检查它是否存在之前需要它,它就可以工作。因此,如果我取消注释 (***1) 该文件是必需的。