PHP 的 __FILE__ 常量

來源:互聯網
上載者:User
今天碰到了PHP的常量__FILE__的問題了。

在網上查了一下。總結了以下規律。

dirname(__FILE___) 函數返回的是指令碼所在在的路徑。

比如檔案 b.php 包含如下內容:

1 php 2$basedir = dirname(__FILE__); 3 ?> 

如果b.php被其他目錄裡的a.php檔案require 或者 include 去引用的話。

變數$basedir 的內容還是b.php所在的那個檔案夾的路徑。

而不是變成a.php檔案所在的目錄。

dirname(__FILE__) 一般會返迴文件所的目前的目錄到系統根目錄的一個目錄結構。

不會返回當前的檔案名稱。

dirname(__FILE__) 也可能返回一個 . (目前的目錄)

[原因是 b.php 檔案在 http.conf 或者 PHP 配置開發環境的預設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');

以上就介紹了PHP 的 __FILE__ 常量,包括了require,include方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.