PHP獲取當前文件的父目錄方法匯總

字號:


    本文給大家匯總介紹了使用PHP獲取當前文件所在目錄的父目錄的路徑的2種方法,并附上php獲取路徑和目錄的相關函數(shù),有需要的小伙伴可以參考下
    方法一:先獲得當前文件所在文件夾的長度,然后用substr來截取掉該長度:
     $dirName = str_replace("\\", "/", dirname(__FILE__));
     $dirNameLength = strlen($dirName);
     $currentDirNameLength = $dirNameLength - strrpos($dirName,"/"); //獲得當前文件所在文件夾的長度!
     $parentDirName = substr($dirName,0,-$currentDirNameLength); //第3個參數(shù)如果為負數(shù),那么表示從后面截取掉【該參數(shù)的絕對值】個字符。
    方法二:將當前文件所在文件夾當作一個文件(文件夾其實是特殊的文件,一切皆為文件?。。苯佑胐irname嵌套一次dirname即可:
    $parentDirName = dirname(dirname(__FILE__));
    從上可以看出:對事物的深刻認識,能大幅度提高代碼質量!
    附上:PHP獲取路徑或目錄實現(xiàn)
    PHP獲取目錄和的方法通過魔術變量;通過超級全局變量;通過相關函數(shù)等等:
    <?php
    /**
     * PHP獲取路徑或目錄實現(xiàn)
     */
    //魔術變量,獲取當前文件的絕對路徑
    echo "__FILE__: ========> ".__FILE__; 
    echo '<br/>';
    //魔術變量,獲取當前腳本的目錄
    echo "__DIR__: ========> ".__DIR__;
    echo '<br/>';
    //dirname返回路徑的目錄部分,dirname(__FILE__)相當于__DIR__
    echo "dirname(__FILE__): ========> ".dirname(__FILE__);
    echo '<br/>';
    //$_SERVER['PHP_SELF']和$_SERVER['SCRIPT_NAME']的結果一般相同,他們都是獲取當前腳本的文件名
    //只有當php以cgi方式運行時有區(qū)別,但是現(xiàn)在幾乎找不到以cgi方式運行php了
    echo '$_SERVER["PHP_SELF"]: ========> '.$_SERVER['PHP_SELF'];
    echo '<br/>';
    echo '$_SERVER["SCRIPT_NAME"]: ========> '.$_SERVER['SCRIPT_NAME'];
    echo '<br/>';
    //當前執(zhí)行腳本的絕對路徑。記住,在CLI方式運行php是獲取不到的
    echo '$_SERVER["SCRIPT_FILENAME"]: ========> '.$_SERVER['SCRIPT_FILENAME'];
    echo '<br/>';
    //當前運行腳本所在的文檔根目錄。在服務器配置文件中定義。
    echo '$_SERVER["DOCUMENT_ROOT"]: ========> '.$_SERVER['DOCUMENT_ROOT'];
    echo '<br>';
    //getcwd()返回當前工作目錄
    echo "getcwd(): ========> ".getcwd();
    echo '<br>';