__FILE__表示當前所在檔案的絕對路徑包括檔名,dirname(__FILE__)表示當前檔案的絕對路徑,basename(__FILE__)表示當前檔案的檔名稱,dirname(__FILE__)."/f/"name(__FILE__)則表示當前檔案所在目錄下的f目錄下的,檔名稱為dirname(__FILE__)的檔案,require表示包含該檔案到這個檔案。
下面是詳解:
1)dirname(__FILE___) 函式返回的是指令碼所在在的路徑。
比如檔案 包含如下內容:
<?PHP
$basedir = dirname(__FILE__);
?>
如果被其他目錄裡的檔案require 或者 include 去引用的話。
變數$basedir 的內容還是所在的那個資料夾的路徑。
而不是變成檔案所在的目錄。
2)dirname(__FILE__) 一般會返回檔案所的當前目錄到系統根目錄的一個目錄結構。
不會返回當前的檔名稱。
dirname(__FILE__) 也可能返回一個 . (當前目錄)
[原因是 檔案在 或者 PHP 配置開發環境的.預設WEB目錄下.
比如 WEB_ROOT 為: "C:/root/www/".]
檔案路徑為: "C:/root/www/".
3)使用方法提示,
如果重複一次可以把目錄往上提升一個層次:
比如:$d = dirname(dirname(__FILE__));
其實就是把一個目錄給dirname()做引數了.因為dirname()返回最後的目錄不帶\\或者是/
所以重複使用的時候可以認為dirname()把最下層的目錄當成檔名來處理了.照常返回
當前目錄的上級目錄.這樣重複就得到了它的上一級的目錄.
4)包含得到上一級目錄的檔案
include(dirname(__FILE__).'/../filename