今天碰到了PHP的常數__FILE__的問題了。
在網路上查了一下。總結了以下規律。
dirname(__FILE___) 函數回傳的是腳本所在的路徑。
例如文件 b.php 包含以下內容:
<span>1</span> <?<span>php </span><span>2</span><span>$basedir</span> = <span>dirname</span>(<span>__FILE__</span><span>); </span><span>3</span> ?>
如果b.php被其他目錄裡的a.php檔案require 或 include 去引用的話。
變數$basedir 的內容還是b.php所在的那個資料夾的路徑。
而不是變成a.php檔案所在的目錄。
dirname(__FILE__) 一般會傳回檔案所的目前目錄到系統根目錄的一個目錄結構。
不會傳回目前的檔案名稱。
dirname(__FILE__) 也可能回傳一個 . (目前目錄)
[原因是 b.php 檔案在 http.conf 或 PHP 設定開發環境的預設WEB目錄下.
例如/www/".]
b.php檔案路徑為: "C:/root/www/b.php".
使用方法提示,
如果重複一次可以把目錄往上提升一個層次:
例如:$d = dirname(dirname(__FILE__));
其實就是把一個目錄給dirname()做參數了.因為dirname()回傳最後的目錄不帶\\或是/
所以重複使用的時候可以認為 dirname() 把最下層的目錄當成檔名來處理了.照常返回目前目錄的上級目錄.
這樣重複就得到了它的上一級的目錄.
包含得到上一級目錄的文件
include(dirname(__FILE__).'/__FILE__ /filename.php');
以上就介紹了PHP 的 __FILE__ 常數,包括了require,include方面的內容,希望對PHP教程有興趣的朋友有所幫助。