2015-02-11 201 views
0

我想獲得當前腳本的絕對路徑,它實際上是符號鏈接的。如何獲取當前符號鏈接目錄的父目錄?

__FILE__總是指向真實文件而不是符號鏈接,而$_SERVER['SCRIPT_FILENAME']指向符號鏈接。

我想登錄$_SERVER['SCRIPT_FILENAME']的目錄樹,但追加/..並調用realpath導航實際文件的目錄樹。

下面的代碼我跑:

print dirname(__FILE__); 
print '<br />'; 
print realpath(dirname(__FILE__) . '/..'); 
print '<br />'; 
print $_SERVER['SCRIPT_FILENAME']; 
print '<br />'; 
print realpath(dirname($_SERVER['SCRIPT_FILENAME']) . '/..'); 

上述輸出碼:

/Users/mridang/Hello/Application 
/Users/mridang/Hello 
/Applications/MAMP/htdocs/1609/modules/mymodule/ctrl.php 
/Users/mridang/Hello 

我如何可以導航了符號鏈接的目錄,而不解決符號鏈接?

回答

2

據我所知,你可以使用本機PHP函數readlink。這應該可以解決符號鏈接問題。

您還可以從StackOverflow檢查this answer

0

使用readlink($ path)讀取符號鏈接的目標。你可以檢查它是否與is_link的符號鏈接:

例子:

<?php 
    if (is_link($link)) { 
     echo(readlink($link)); 
    } 

    echo readlink(dirname(__FILE__)); 
?>