|
|
|
|
|
在本文中,我們將探討如何在 PHP 編程語(yǔ)言中獲取當(dāng)前頁(yè)面的 URL。
你可能出于以下原因想要獲取當(dāng)前頁(yè)面 URL:
當(dāng)用戶瀏覽你的 Web 應(yīng)用程序時(shí),PHP 實(shí)際上存儲(chǔ)了許多有用的信息。其中之一當(dāng)然是當(dāng)前的 URL。
PHP 將這些有用的信息存儲(chǔ)在它的超全局變量數(shù)組中。
什么是超全局變量?
超全局變量是 PHP 引擎已經(jīng)定義的變量,可以在任何類型的范圍內(nèi)使用。它們隨時(shí)可用。
有很多這樣的超全局變量,但我們感興趣的是 $_SERVER
超全局變量。
$_SERVER 超全局變量
$_SERVER
超全局變量具有許多可通過(guò)關(guān)聯(lián)樣式索引訪問(wèn)的屬性。
我們可以訪問(wèn)的一些值包括:
那么,我們?nèi)绾潍@得完整的 URL?
考慮到超全局變量和$_SERVER
超全局變量的上述幾點(diǎn),我們可以繼續(xù)獲取當(dāng)前頁(yè)面的 URL。
在下面的屏幕截圖中,我在名為“home”的頁(yè)面的本地環(huán)境中呈現(xiàn)了一個(gè) PHP 應(yīng)用程序。
URL 是 http://localhost/home。
在本頁(yè)的代碼中,我將使用$_SERVER
變量。
有了這個(gè)變量,我們將不得不使用 2 個(gè)單獨(dú)的索引來(lái)獲取當(dāng)前頁(yè)面 URL 的每個(gè)部分。第一部分是主機(jī),localhost,第二部分是頁(yè)面名稱,home。
我們將使用的第一個(gè)索引是HTTP_HOST
- 當(dāng)前的 Web 地址主機(jī),例如 localhost 或 example.com
第二個(gè)是REQUEST_URI
,它將為我們提供主機(jī)后面的 URL 部分,因此這是 localhost 或 example.com 之后的任何內(nèi)容。
讓我們看看這個(gè):
$currentPageUrl = 'http://' . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
echo "Current page URL " . $currentPageUrl;
輸出
就是這樣 - 非常簡(jiǎn)單!
概括
$_SERVER
超全局變量存儲(chǔ)了大量的重要信息。正如我們?cè)谶@個(gè)例子中發(fā)現(xiàn)的那樣,通過(guò)訪問(wèn)這個(gè)特定變量,獲取當(dāng)前頁(yè)面的 URL 變得很簡(jiǎn)單。
不過(guò),值得查看文檔以了解還有哪些其他索引可用。