引自
dirname(__FILE__)
函數返回的是腳本所在在的路徑。
dirname(__FILE__)
和__DIR__
的效果是一樣的莉恼,__DIR__
是PHP5.3新增的常量竿屹,效率更高。
比如文件 b.php 包含如下內容:
<?php $basedir = dirname(__FILE__); ?>
如果b.php被其他目錄里的a.php文件require 或者 include 去引用的話。 變量$basedir
的內容還是b.php所在的那個文件夾的路徑瓣履。 而不是變成a.php文件所在的目錄啼县。 dirname(__FILE__)
一般會返回文件所的當前目錄到系統(tǒng)根目錄的一個目錄結構材原。 不會返回當前的文件名稱。
dirname(__FILE__)
也可能返回一個.
(當前目錄) [原因是 b.php 文件在 http.conf 或者 PHP 配置開發(fā)環(huán)境的默認WEB目錄下. 比如 WEB_ROOT 為: "C:/root/www/"
.] b.php文件路徑為:"C:/root/www/b.php"
. 使用方法提示, 如果重復一次可以把目錄往上提升一個層次: 比如:$d = dirname(dirname(__FILE__));
其實就是把一個目錄給dirname()
做參數了.因為dirname()
返回最后的目錄不帶\\
或者是/
所以重復使用的時候可以認為dirname()
把最下層的目錄當成文件名來處理了.照常返回 當前目錄的上級目錄.這樣重復就得到了它的上一級的目錄. 包含得到上一級目錄的文件include(dirname(__FILE__).'/../filename.php');