PHP獲取當(dāng)前文件的父目錄方法匯總
方法一:先獲得當(dāng)前文件所在文件夾的長(zhǎng)度,然后用substr來(lái)截取掉該長(zhǎng)度:
$dirNameLength = strlen($dirName);
$currentDirNameLength = $dirNameLength - strrpos($dirName,"/"); //獲得當(dāng)前文件所在文件夾的長(zhǎng)度!
$parentDirName = substr($dirName,0,-$currentDirNameLength); //第3個(gè)參數(shù)如果為負(fù)數(shù),那么表示從后面截取掉【該參數(shù)的絕對(duì)值】個(gè)字符。
方法二:將當(dāng)前文件所在文件夾當(dāng)作一個(gè)文件(文件夾其實(shí)是特殊的文件,一切皆為文件!?。?,直接用dirname嵌套一次dirname即可:
$parentDirName = dirname(dirname(__FILE__));
從上可以看出:對(duì)事物的深刻認(rèn)識(shí),能大幅度提高代碼質(zhì)量!
附上:PHP獲取路徑或目錄實(shí)現(xiàn)
PHP獲取目錄和的方法通過(guò)魔術(shù)變量;通過(guò)超級(jí)全局變量;通過(guò)相關(guān)函數(shù)等等:
<?php /** * PHP獲取路徑或目錄實(shí)現(xiàn) */ //魔術(shù)變量,獲取當(dāng)前文件的絕對(duì)路徑 echo "__FILE__: ========> ".__FILE__; echo '<br/>'; //魔術(shù)變量,獲取當(dāng)前腳本的目錄 echo "__DIR__: ========> ".__DIR__; echo '<br/>'; //dirname返回路徑的目錄部分,dirname(__FILE__)相當(dāng)于__DIR__ echo "dirname(__FILE__): ========> ".dirname(__FILE__); echo '<br/>'; //$_SERVER['PHP_SELF']和$_SERVER['SCRIPT_NAME']的結(jié)果一般相同,他們都是獲取當(dāng)前腳本的文件名 //只有當(dāng)php以cgi方式運(yùn)行時(shí)有區(qū)別,但是現(xiàn)在幾乎找不到以cgi方式運(yùn)行php了 echo '$_SERVER["PHP_SELF"]: ========> '.$_SERVER['PHP_SELF']; echo '<br/>'; echo '$_SERVER["SCRIPT_NAME"]: ========> '.$_SERVER['SCRIPT_NAME']; echo '<br/>'; //當(dāng)前執(zhí)行腳本的絕對(duì)路徑。記住,在CLI方式運(yùn)行php是獲取不到的 echo '$_SERVER["SCRIPT_FILENAME"]: ========> '.$_SERVER['SCRIPT_FILENAME']; echo '<br/>'; //當(dāng)前運(yùn)行腳本所在的文檔根目錄。在服務(wù)器配置文件中定義。 echo '$_SERVER["DOCUMENT_ROOT"]: ========> '.$_SERVER['DOCUMENT_ROOT']; echo '<br>'; //getcwd()返回當(dāng)前工作目錄 echo "getcwd(): ========> ".getcwd(); echo '<br>';
- php中的filesystem文件系統(tǒng)函數(shù)介紹及使用示例
- PHP 文件系統(tǒng)詳解
- PHP文件系統(tǒng)管理(實(shí)例講解)
- php文件系統(tǒng)處理方法小結(jié)
- PHP開發(fā)文件系統(tǒng)實(shí)例講解
- php讀取目錄及子目錄下所有文件名的方法
- PHP中文件讀、寫、刪的操作(PHP中對(duì)文件和目錄操作)
- php遍歷目錄與文件夾的多種方法詳解
- PHP判斷文件是否存在、是否可讀、目錄是否存在的代碼
- php中檢查文件或目錄是否存在的代碼小結(jié)
- PHP 創(chuàng)建文件(文件夾)以及目錄操作代碼
- PHP FileSystem 文件系統(tǒng)常用api整理總結(jié)
相關(guān)文章
PHP獲取文件絕對(duì)路徑的代碼(上一級(jí)目錄)
PHP獲取文件絕對(duì)路徑,取得當(dāng)前文件所在的絕對(duì)目錄,取得當(dāng)前文件的上一層目錄名的實(shí)現(xiàn)代碼。2011-05-05php實(shí)現(xiàn)將數(shù)組轉(zhuǎn)換為XML的方法
這篇文章主要介紹了php實(shí)現(xiàn)將數(shù)組轉(zhuǎn)換為XML的方法,實(shí)例分析了php操作數(shù)組及XML格式文件的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03php對(duì)關(guān)聯(lián)數(shù)組循環(huán)遍歷的實(shí)現(xiàn)方法
這篇文章主要介紹了php對(duì)關(guān)聯(lián)數(shù)組循環(huán)遍歷的實(shí)現(xiàn)方法,涉及php操作數(shù)組的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03PHP實(shí)現(xiàn)的服務(wù)器一致性hash分布算法示例
這篇文章主要介紹了PHP實(shí)現(xiàn)的服務(wù)器一致性hash分布算法,結(jié)合實(shí)例形式分析了php一致性hash分布算法類的具體定義與相關(guān)使用技巧,需要的朋友可以參考下2018-08-08thinkphp 一個(gè)頁(yè)面使用2次分頁(yè)的實(shí)現(xiàn)方法
thinkphp內(nèi)置ORG.Util.Page方法分頁(yè),使分頁(yè)變得非常簡(jiǎn)單快捷。 但是如果一個(gè)頁(yè)面里需要使用2次分頁(yè),就會(huì)產(chǎn)生沖突,這里先記錄下百度來(lái)的解決辦法。需要的朋友可以參考下2013-07-07PHP中strtr與str_replace函數(shù)運(yùn)行性能簡(jiǎn)單測(cè)試示例
這篇文章主要介紹了PHP中strtr與str_replace函數(shù)運(yùn)行性能簡(jiǎn)單測(cè)試,結(jié)合具體實(shí)例形式對(duì)比分析了PHP中strtr與str_replace函數(shù)的測(cè)試運(yùn)行效率,需要的朋友可以參考下2019-06-06