亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

include引入一個頁面的時候非要用dirname(__FILE__) ?為什么呢?

include引入一個頁面的時候非要用dirname(__FILE__) ?為什么呢?

千萬里不及你 2021-06-22 19:15:15
php include引入一個頁面的時候為什么非得用dirname(__FILE__) ??用 “../” 來到上一級或上2級 不行嗎??有區別嗎?? 看那么多包含 好費事的- -。。高手幫我解答下...我想知道 有什么好、壞的之處 有啥區別, 還是個人習慣
查看完整描述

2 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超21個贊

dirname() 函數返回路徑中的目錄部分。
dirname(__FILE__) 取到的是當前文件所在的絕對目錄
../ 這里是上一級目錄
如果是 ./ 則是同級目錄
舉個例子:
假設,現在的文件目錄是 D:\www\yoursite\test.php
那么dirname(__FILE__) 就是D:\www\yoursite
dirname(__FILE__).'/../‘ 這里就是 D:\www\yoursite/../ 實際上就是路徑D:\www
dirname(__FILE__).'/../popup.php' 實際上就是路徑 D:\www\popup.php

查看完整回答
反對 回復 2021-06-27
?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

“../”適合于簡單的一個文件包含于另一個文件。
而dirname(__FILE__) 大多適合多層,更復雜多多文件包含,維護起來更容易。

如果僅僅是a.php文件包含b.php文件,可以直接用 include的dirname(__FILE__)或者 “../” 均可,一般不會出錯的。
但往往是 a包含了 b文件,另外c.php包含了a文件
那么使用 “../” 的話,就會造成c包含a時再載入b文件時路徑出錯,而使用dirname(__FILE__)時,c包含a時會以dirname(__FILE__)映射出c和a的路徑關系,a再到包含b文件時,使用dirname(__FILE__),會映射出a和b的相應目錄關系。這個就不會造成不同目錄多次包含時路徑出錯!

注意 __FILE__,代表 這個代碼所在文件的文件名, 比如 c用dirname(__FILE__)包含a,那么 __FILE__代碼是c文件,而c包含a后,a再用dirname(__FILE__)包含到b時,那么__FILE__在執行時就是a文件,這個依次類推,文件的包含及路徑永遠也不會出錯!



查看完整回答
反對 回復 2021-06-27
  • 2 回答
  • 0 關注
  • 507 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號