【php】php目录路径函数系列

在写框架和项目时候我们经常要获取绝对路径,php有内置函数realpath(),  也可以写个函数来实现这个功能

function getAbsolutePath($path) {
    $path  = str_replace(array('/', '\'), DIRECTORY_SEPARATOR, $path);
    $parts = array_filter(explode(DIRECTORY_SEPARATOR, $path), 'strlen');
    $absolutes = array();
    foreach ($parts as $part) {
        if ('.' == $part){
            continue;
        }
        if ('..' == $part) {
            array_pop($absolutes);
        } else {
            $absolutes[] = $part;
        }
    }
    return DIRECTORY_SEPARATOR.ltrim(implode(DIRECTORY_SEPARATOR, $absolutes),DIRECTORY_SEPARATOR);
}

 laravel框架入口文件就有段引入文件目录

$app = new IlluminateFoundationApplication(
realpath(__DIR__.'/../')
);


测试下
echo getAbsolutePath(__DIR__.'/../').'<br>';
echo realpath(__DIR__.'/../');

 注意一点  对于php内置函数realpath()  会对路径判断是否存在

比如

var_dump(realpath(__DIR__.'/images/addBtn1.png')) ;  这个返回false
var_dump(realpath(__DIR__.'/images/addBtn.png')) ;   这个文件存在返回该路径
原文地址:https://www.cnblogs.com/songgj/p/8472878.html