首頁  >  文章  >  後端開發  >  PHP取得絕對路徑dirname(__FILE__)和__DIR__比較

PHP取得絕對路徑dirname(__FILE__)和__DIR__比較

angryTom
angryTom轉載
2019-10-16 09:58:452054瀏覽

PHP取得絕對路徑dirname(__FILE__)和__DIR__比較

我們都知道,要取得目前PHP腳本所在目錄的絕對路徑,dirname(__FILE__) 和 __DIR__都可以實現。那麼什麼情況下用 dirname(__FILE__),什麼情況下用 __DIR__ 呢?它們之間有什麼區別? (推薦學習:PHP影片教學

功能與效率 

dirname(__FILE__)由兩部分組成, __FILE__ 魔術變量 dirname() 函數。 __FILE__是目前腳本的絕對路徑,經過 dirname() 函數後,就可以取得腳本所在目錄的絕對路徑。

舉個栗子,有個hello.php 文件,其部署在伺服器的目錄是:/home/www/website/hello.php

那麼,__FILE__的值是:/home/www/website/hello.php

dirname(__FILE__) 回傳就是:/home/www/website/

如果我們在hello.php 用__DIR__全域變量,就可以直接得到所在目錄的絕對路徑:/home/www/website/,和dirname(__FILE__) 效果完全一樣。

在實作相同功能的情況下,dirname(__FILE__)多了一層函數呼叫。所以, __DIR__ 比 dirname(__FILE__) 在效率上有優勢

PHP版本支援

__FILE__ 和 dirname() 函數從 PHP 4.0.2 就開始啟用。

__DIR__ 變數則是 PHP5.3.0 新增的。

所以,如果你的PHP版本大於等於PHP5.3.0,建議使用 __DIR__。否則,最好還是用 dirname(__FILE__),以確保程式不會出錯。

以上是PHP取得絕對路徑dirname(__FILE__)和__DIR__比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:www.awaimai.com。如有侵權,請聯絡admin@php.cn刪除