2 回答

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超21個(gè)贊
dirname() 函數(shù)返回路徑中的目錄部分。
dirname(__FILE__) 取到的是當(dāng)前文件所在的絕對(duì)目錄
../ 這里是上一級(jí)目錄
如果是 ./ 則是同級(jí)目錄
舉個(gè)例子:
假設(shè),現(xiàn)在的文件目錄是 D:\www\yoursite\test.php
那么dirname(__FILE__) 就是D:\www\yoursite
dirname(__FILE__).'/../‘ 這里就是 D:\www\yoursite/../ 實(shí)際上就是路徑D:\www
dirname(__FILE__).'/../popup.php' 實(shí)際上就是路徑 D:\www\popup.php

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊
“../”適合于簡(jiǎn)單的一個(gè)文件包含于另一個(gè)文件。
而dirname(__FILE__) 大多適合多層,更復(fù)雜多多文件包含,維護(hù)起來(lái)更容易。
如果僅僅是a.php文件包含b.php文件,可以直接用 include的dirname(__FILE__)或者 “../” 均可,一般不會(huì)出錯(cuò)的。
但往往是 a包含了 b文件,另外c.php包含了a文件
那么使用 “../” 的話,就會(huì)造成c包含a時(shí)再載入b文件時(shí)路徑出錯(cuò),而使用dirname(__FILE__)時(shí),c包含a時(shí)會(huì)以dirname(__FILE__)映射出c和a的路徑關(guān)系,a再到包含b文件時(shí),使用dirname(__FILE__),會(huì)映射出a和b的相應(yīng)目錄關(guān)系。這個(gè)就不會(huì)造成不同目錄多次包含時(shí)路徑出錯(cuò)!
注意 __FILE__,代表 這個(gè)代碼所在文件的文件名, 比如 c用dirname(__FILE__)包含a,那么 __FILE__代碼是c文件,而c包含a后,a再用dirname(__FILE__)包含到b時(shí),那么__FILE__在執(zhí)行時(shí)就是a文件,這個(gè)依次類(lèi)推,文件的包含及路徑永遠(yuǎn)也不會(huì)出錯(cuò)!
- 2 回答
- 0 關(guān)注
- 504 瀏覽
添加回答
舉報(bào)