本篇文章是對php中的dirname()與__FILE__常數的應用進行了詳細的分析介紹,需要的朋友參考下
__FILE__表示當前所在文件的絕對路徑包括文件名,dirname(__FILE__)表示目前檔案的絕對路徑,basename(__FILE__)表示目前檔案的檔案名稱,dirname(__FILE__)."/f/".basename(__FILE__)則表示目前檔案所在目錄下的f目錄下的,文件名稱為dirname(__FILE__)的文件,require表示包含該文件到這個文件。
以下是詳解:
1)dirname(__FILE___) 函數回傳的是腳本所在的路徑。
中 b.php 包含以下內容:
<?php $basedir = dirname(__FILE__); ?>
變數$basedir 的內容還是b.php所在的那個資料夾的路徑。
而不是變成a.php檔案所在的目錄。
2)dirname(__FILE__) 一般會傳回檔案所的目前目錄到系統根目錄的一個目錄結構。
不會回傳目前的檔案名稱。
dirname(__FILE__) 也可能回傳一個.(目前目錄)
[原因是b.php 檔案在 http.conf 或PHP 設定開發環境的預設WEB目錄下.
或PHP 設定開發環境的預設WEB目錄下.
或PHP 設定開發環境的預設WEB目錄下. :/root/www/".] b.php檔案路徑為: "C:/root/www/b.php".
3)使用方法提示,
$d = dirname(dirname(__FILE__));因為dirname()返回最後的目錄不帶\\或是/
所以重複使用的時候可以認為 dirname() 把最下層的目錄當成文件名來處理了.照常回傳
目前目錄的上級目錄.這樣重複就得到了它的上一層的目錄.
4)包含得到上一層目錄的檔案