【发布时间】:2011-12-28 01:25:26
【问题描述】:
这是我正在使用的代码(它是 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/
我想将包含路径设置为 root/(包含 application/ 和 system/ 的文件夹)。 __DIR__ 给了我很多东西,比如Application/xammp/htdocs/application/public/index.php(在本地主机中);我不确定客户__DIR__ 是否有很大不同,因为我一开始对路径一无所知。我刚刚写了前几行,以便轻松地从 DIR 中删除最后两个文件夹,所以我确信无论__DIR__ 是什么路径都是正确的。我在另一个测试设置中测试了这些行,它们工作正常。
发生的奇怪事情是,如果我运行显示在那里的代码,它会给我“错误”。如果我在检查它是否存在之前只需要system/base/file.php,它就可以工作。因此,如果我取消注释 (***1) 该文件是必需的。
【问题讨论】: