首頁  >  文章  >  後端開發  >  如何使用php中的dirname(__FILE__) 取得目前檔案的絕對路徑

如何使用php中的dirname(__FILE__) 取得目前檔案的絕對路徑

伊谢尔伦
伊谢尔伦原創
2017-06-29 10:44:312367瀏覽

dirname(FILE) 取到的是目前檔案的絕對路徑,也就是說,比起相對路徑,找出速度是最快的。

PHP 常數dirname(file)
FILE :稱為PHP魔術常數 ,傳回目前執行PHP腳本的完整路徑與檔名,包含一個絕對路徑

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

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

<?php 
$basedir = dirname(FILE); 
echo $basedir
//将在页面打印出一个这个文件所在绝对路径! 
?>

我做的測試得到結果: E:/website/othertest/cms
這個相當於, asp中的server.mappth的用法
如果b.php被其他目錄裡的a.php檔案requireinclude 去引用的話。 變數$basedir 的內容還是b.php所在的那個資料夾的路徑。 而不是變成a.php檔案所在的目錄。

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

不會傳回目前的檔案名稱。 dirname(FILE) 也可能回傳一個。(目前目錄) [原因是b.php 檔案在 http.conf 或PHP 設定開發環境的預設WEB目錄下

##幾個PHP 的「魔術常數」

名稱說明

LINE 檔案中的目前行號。
FILE 檔案的完整路徑和檔案名稱。如果用在
包含檔案中,則傳回包含檔案名稱。自 PHP 4.0.2 起,FILE 總是包含一個絕對路徑,而在此之前的版本有時會包含一個相對路徑。 FUNCTION 函數名稱(PHP 4.3.0 新加)。自 PHP 5 起本常數傳回該函數被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。
CLASS 類別的名稱(PHP 4.3.0 新加)。自 PHP 5 起本常數傳回該類別被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。
METHOD 類別的方法名稱(PHP 5.0.0 新加)。回傳此方法定義時的名字(區分大小寫例如目前檔案是放在(d:\www\)下,檔案名稱是test.php。
測試的程式碼如下:

<?php 
echo FILE ; // 取得当前文件的绝对地址,结果:D:\www\test.php 
echo dirname(FILE); // 取得当前文件所在的绝对目录,结果:D:\www\ 
echo dirname(dirname(FILE)); //取得当前文件的上一层目录名,结果:D:\ 
?>

使用方法提示, dirname(FILE) 取到的是當前文件的絕對路徑,也就是說,比起相對路徑,查找速度是最快的。目錄往上提升一個層次:
例如:$d = dirname(dirname(FILE));
其實就是把目錄給dirname()做參數了. \或是/
所以重複使用的時候可以認為dirname() 把最下層的目錄當成檔名來處理了.的目錄.

#包含得到上一層目錄的檔案
include(dirname(FILE).'/../filename.php');

FILE的路徑是目前程式碼所在檔案

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

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

以上是如何使用php中的dirname(__FILE__) 取得目前檔案的絕對路徑的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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