方法1(需自行调整根目录):
define('BASE_PATH',str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/");
echo BASE_PATH;
方法2(需修改/../自行调整根目录):
defined('BASE_PATH') || define('BASE_PATH', getenv('BASE_PATH') ?: realpath(dirname(__FILE__) . '/../'));
echo BASE_PATH;
方法3(推荐使用):
怎样取得站点根目录,一步一步来:
我的站点目录据对路径:D:\www\message2011,测试文件路径:D:\www\message2011\include\config.inc.php
在根目录下新建一个文件,也可以隔一层目录创建,就以上面为例,我要在config.inc.php中取得站点的根目录。
1、取得当前文件的路径:用魔术常量__FILE__。这里的路径包含了文件名,结果如下:
D:\www\message2011\include\config.inc.php
2、去掉上面路径的文件名,得到纯路径:dirname(__FILE__),结果如下:
D:\www\message2011\include
3、返回一层目录到根目录:realpath(dirname(__FILE__).'/../'),结果如下:
D:\www\message2011
4、把向左的”\“转化成向右的”/“:str_replace( '\\' , '/' , realpath(dirname(__FILE__).'/../')),结果如下:
D:/www/message2011
到这就是我们想要的站点根目录了,可以根据需求设定第三步返回目录层数,比如:返回2层就是 /../../,那么就会得到 D:\www\,以此类推。
echo str_replace( '\\' , '/' , realpath(dirname(__FILE__).'/../'));