在 PHP 中查詢根目錄路徑

Subodh Poudel 2023年1月30日 2021年11月29日
  1. 在 PHP 中使用 __DIR__ 預定義常量查詢檔案目錄的路徑
  2. 在 PHP 中使用 dirname() 函式查詢專案根目錄的路徑
  3. 在 PHP 中使用 $_SERVER['DOCUMENT_ROOT'] 查詢檔案的文件根目錄
在 PHP 中查詢根目錄路徑

我們將介紹不同的方法來查詢 PHP 專案根目錄的路徑。

在 PHP 中使用 __DIR__ 預定義常量查詢檔案目錄的路徑

在 PHP 中,有可用於實現各種功能的預定義常量。__DIR__ 是一個神奇的常量,它從根目錄返回當前檔案的完整檔案路徑。這意味著它將返回檔案的目錄。dirname(__FILE__) 也可以用於相同的目的。

假設我們有一個 project 資料夾,它是專案的根目錄。project 資料夾具有以下檔案路徑 /var/www/HTML/project。在 project 資料夾中,我們有 index.php 檔案和另一個資料夾 master。在 master 資料夾中,我們有兩個 PHP 檔案:login.phpregister.php

project
├── index.php
└── master
 ├── login.php
 └── register.php

假設我們目前正在處理 login.php。在這樣的檔案結構中,我們可以使用 login.php 檔案中的 __DIR__ 常量來獲取目錄的路徑。我們可以使用 echo 函式來列印常量。

示例程式碼:

<?php
echo __DIR__;
?>

輸出:

/var/www/html/project/master

在 PHP 中使用 dirname() 函式查詢專案根目錄的路徑

函式 dirname(__FILE__) 類似於 __DIR__。我們可以使用此函式找到檔案目錄的路徑。我們還可以使用 dirname() 函式移動到檔案路徑中的上層。該函式的第一個引數是檔案的路徑,由 __FILE__ 常量表示。第二個引數是一個整數,稱為級別。我們可以設定級別以指示函式在檔案路徑中升級。級別的預設值為 1。隨著級別的增加,該函式將獲取上一級的檔案路徑。因此,我們可以使用該函式在 PHP 中查詢專案根目錄的確切檔案路徑。

例如,我們可以將檔案結構視為第一種方法。使用檔案 login.php,我們可以使用級別為 2dirname() 函式和 __FILE__ 常量作為引數。然後我們可以得到工作目錄的確切檔案路徑。因此,我們可以根據我們的選擇更改級別以在檔案路徑中向上和向下移動。這樣我們就可以在 PHP 中找到專案根目錄的路徑了。

示例程式碼:

<?php
echo dirname(__FILE__,2);
?>

輸出:

/var/www/html/project

在 PHP 中使用 $_SERVER['DOCUMENT_ROOT'] 查詢檔案的文件根目錄

我們可以使用帶有 DOCUMENT_ROOT 索引的 $_SERVER[] 陣列來查詢當前正在執行的指令碼的文件根目錄。它將返回文件根目錄的完整路徑。它在伺服器的配置檔案中定義。對於上面的檔案結構,我們可以使用 echo 函式列印 $_SERVER['DOCUMENT_ROOT'] 以找到檔案 login.php 的文件根目錄。

如下面的輸出所示,我們發現路徑 htmllogin.php 檔案的文件根目錄。我們也可以看到根目錄的檔案路徑。

示例程式碼:

<?php
echo $_SERVER['DOCUMENT_ROOT'];
?>

輸出:

/var/www/html
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

相關文章 - PHP File