首頁 >後端開發 >php教程 >dirname(__FILE__)詳解

dirname(__FILE__)詳解

小云云
小云云原創
2018-03-28 10:10:2614140瀏覽

__FILE__表示目前所在檔案的絕對路徑包含檔案名,dirname(__FILE__)表示目前檔案的絕對路徑,basename(__FILE__)表示目前檔案的檔案名稱,dirname(__FILE__)."/f/".basename (__FILE__)則表示目前文件所在目錄下的f目錄下的,文件名稱為dirname(__FILE__)的文件,require表示包含該文件到這個文件。

下面是詳解:

1)dirname(__FILE___) 函數傳回的是腳本所在的路徑。

例如檔案 b.php 包含以下內容:

<?php
$basedir = dirname(__FILE__);
?>

如果b.php被其他目錄裡的a.php檔案require 或 include 去引用的話。
變數$basedir 的內容還是b.php所在的那個資料夾的路徑。
而不是變成a.php檔案所在的目錄。

2)dirname(__FILE__) 一般會傳回檔案所的目前目錄到系統根目錄的一個目錄結構。

不會傳回目前的檔案名稱。
dirname(__FILE__) 也可能回傳一個。(當前目錄)
[原因是b.php 檔案在 http.conf 或PHP 設定開發環境的預設WEB目錄下.
例如WEB_ROOT 為: "C :/root/www/".]
b.php檔案路徑為: "C:/root/www/b.php".

3)使用方法提示,

如果重複一次可以把目錄往上提升一個層次:

例如:$d = dirname(dirname(__FILE__));

其實就是把一個目錄給dirname()做參數了.因為dirname()回傳最後的目錄不帶\\或是/
所以重複使用的時候可以認為 dirname() 把最下層的目錄當成檔名來處理了.照常回傳
目前目錄的上級目錄.這樣重複就得到了它的上一層的目錄.

#4)包含得到上一層目錄的檔案

include (dirname(__FILE__).''/../filename

php的dirname(__FILE__)和dirname(dirname(__FILE__))區別

dirname (dirname(__FILE__));
假設__FILE__為/home/web/config/config.php
上面的方法輸出為/home/web

dirname(dirname(__FILE__)) ;得到的是檔案上一層目錄名

dirname(__FILE__);得到的是檔案所在層目錄名稱

腳本之家小編註:其實就是用到了PHP的dirname() 函數與__FILE__

定義與用法
dirname() 函數傳迴路徑中的目錄部分。 )

參數描述必要。 。 範例輸出:c:/testweb/testweb
#path
<?php
echo dirname("c:/testweb/home.php");
echo dirname("/testweb/home.php");
?>


相關推薦:

##詳解與PHP路徑相關的dirname,realpath,__FILE__函數


#

以上是dirname(__FILE__)詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn