在 PHP 中查詢基本 URL

Subodh Poudel 2022年5月13日
在 PHP 中查詢基本 URL

本文將介紹幾種在 PHP 中查詢應用程式的基本 URL 的方法。

在 PHP 中使用 $_SERVER 超全域性變數查詢基本 URL

PHP 中的 $_SERVER 超全域性變數包含有關伺服器和執行環境的資訊。

術語超全域性變數表示可以在程式的每個範圍內訪問該變數。該變數是一個預定義的陣列,包含範圍廣泛的索引。

我們可以使用各種索引來查詢路徑、標題和指令碼位置。 $_SERVER 陣列中使用的可用索引的幾個示例是 SERVER_NAMESERVER_ADDRHTTP_HOSTREMOTE_HOST 等。

Web 伺服器提供這些索引。因此,索引的可用性因網路伺服器而異。使用 $_SERVER 陣列的示例如下所示。

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

輸出:

localhost

在上面的示例中,使用的伺服器是 localhost。 $_SERVER['SERVER_NAME] 陣列返回當前指令碼正在執行的伺服器主機名。

我們可以使用 $_SERVER 陣列在 PHP 中查詢應用程式的基本 URL。SERVER_NAMEREQUEST_URI 索引對於查詢基本 URL 很有用。

REQUEST_URI 索引返回當前網頁的 Unifrom 資源識別符號 (URI)。

例如,建立一個變數 $server 並在其中儲存 $_SERVER['SERVER_NAME']。同樣,將 $_SERVER['REQUEST_URI'] 儲存在 $uri 變數中。

接下來,將字串 http://與變數 $server$uri 連線起來,並使用 print 函式列印它們。

結果,我們可以看到當前應用程式的基本 URL。下面的示例顯示了當前應用程式在 localhost 中執行時的路徑。

$server = $_SERVER['SERVER_NAME'];
$uri = $_SERVER['REQUEST_URI'];
print "http://" .$server. $uri;

輸出:

http://localhost/my_app/

我們還可以使用 $_SERVER 陣列中的 HTTP_HOST 索引獲取主機名。索引 HTTP_HOST 返回應用程式中當前請求的主機頭。

它與 SERVER_NAME 索引之間的區別在於 HTTP_HOST 從客戶端請求中檢索標頭,而 SERVER_NAME 檢索在伺服器配置中定義的資訊。

SERVER_NAME 索引比 HTTP_HOST 更可靠,因為該值是從伺服器返回的並且無法修改。獲取應用程式基本 URL 的 HTTP_HOST 索引示例如下所示。

$host = $_SERVER['HTTP_HOST'];
$uri = $_SERVER['REQUEST_URI'];
print "http://" .$host. $uri;

輸出:

http://localhost/my_app/

以上是我們如何在 PHP 中找到應用程式的基本 URL。

作者: Subodh Poudel
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