【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 Illuminate\Foundation\Application(
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')) ;   這個文件存在返回該路徑

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM