1. 程式人生 > 程式設計 >PHP dirname(__FILE__)原理及用法解析

PHP dirname(__FILE__)原理及用法解析

dirname(dirname(_FILE_));

假設__FILE__為 /home/web/config/config.php

上面的方法輸出為 /home/web

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

發現網上找了很多文章都是錯誤的,特別驗證後發出來:

dirname(_FILE_)

php中定義了一個很有用的常數,即:_file_

這個內定常數是所在php程式檔案的完整路徑(路徑+檔名)。

即使這個檔案被其他檔案引用(include或require),__file__始終是它所在檔案的完整路徑,而不是引用它的那個檔案完整路徑。

請看下面例子:

F:\Modoer_2.6_SC_UTF8\upload\test\a.php

<?php
$the_full_name=__FILE__;
$the_dir=dirname(__FILE__);
echo $the_full_name; //返回:F:\Modoer_2.6_SC_UTF8\upload\test\a.php
echo $the_dir; //返回:F:\Modoer_2.6_SC_UTF8\upload\test
?>

**F:\Modoer_2.6_SC_UTF8\upload\b.php
**

<?php
include "test/a.php";//返回:F:\Modoer_2.6_SC_UTF8\upload\test\a.phpF:\Modoer_2.6_SC_UTF8\upload\test

echo $the_full_name; //返回:F:\Modoer_2.6_SC_UTF8\upload\test\a.php
echo $the_dir; //返回:F:\Modoer_2.6_SC_UTF8\upload\test
?> 

簡單地說:

_FILE_ 返回其所在檔案的路徑+檔名

dirname(_FILE_) 返回_FILE__所在檔案的路徑部分

dirname(dirname(_FILE));得到的是__FILE__所在檔案的上一層目錄名(不含最後一個“\”號)

例如,當前檔案是 F:\Modoer_2.6_SC_UTF8\upload\test\a.php,則

_FILE_ 得到的就是完整路徑 即 F:\Modoer_2.6_SC_UTF8\upload\test\a.php ,而

dirname(_FILE_)得到路徑部分 即 F:\Modoer_2.6_SC_UTF8\upload\test

dirname(dirname(_FILE_)),即:F:\Modoer_2.6_SC_UTF8\upload

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。