您好,登錄后才能下訂單哦!
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__); ?>
如果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() 函數返回路徑中的目錄部分。
語法
dirname(path)
參數 | 描述 |
---|---|
path | 必需。規定要檢查的路徑。 |
說明
path 參數是一個包含有指向一個文件的全路徑的字符串。該函數返回去掉文件名后的目錄名。
例子
<?php echo dirname("c:/testweb/home.php"); echo dirname("/testweb/home.php"); ?>
輸出:
c:/testweb
/testweb
看完上述內容,你們掌握dirname(__FILE__)的作用是什么的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。