程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 解析php dirname()與__FILE__常量的應用

解析php dirname()與__FILE__常量的應用

編輯:PHP綜合
__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
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved