每个框架或CMS都有计算程序所在路径的方法,使用绝对路径有时候要比相对路径更少出问题,下面一步步计算出路径信息,虽不是最简洁的,但用到的相关字符串处理函数还是比较有用需要记住的。
<?php
//初始化当前绝对路径
echo __FILE__; //
echo "<br>";
//将上面路径反斜杠替换为正斜杠:win和Linux均支持正斜线,而Linux不支持反斜线
echo str_replace('\\','/',__FILE__);
echo "<br>";
//将最后的文件名切掉
echo substr(str_replace('\\','/',__FILE__),0,-10);
echo '<br>';
//使用dirname()函数 计算出该文件所在的目录
echo "<br>使用str_replace('\\','/',dirname(__FILE__)).'/'获得的结果:".str_replace('\\','/',dirname(__FILE__)).'/';
echo '<br>';
//更先进的使用__DIR__ 直接计算出文件所在根目录,该函数要求PHP版本不低于5.3
echo dirname(__DIR__);
echo "<br>使用str_replace('\\','/',dirname(__DIR__))获得的结果:".str_replace('\\','/',dirname(__DIR__));
//最后一步:将计算出的路径定义为常量,因为路径一经计算出都是不改变的,保存为常量更方便调用
define('ROOT',str_replace('\\','/',dirname(dirname(__FILE__))).'/');
echo '<br>'.ROOT;
?>
输出结果如下: