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