PHP 获取 URL – 如何获取当前页面的完整 URL
在本文中,我们将探讨如何在 PHP 编程语言中获取当前页面的 URL。
你可能出于以下原因想要获取当前页面 URL:
- 建立内部链接
- 对 GET 请求使用过滤器,例如 currentURL.com?myFilterParameter=Food
当用户浏览你的 Web 应用程序时,PHP 实际上存储了许多有用的信息。其中之一当然是当前的 URL。
PHP 将这些有用的信息存储在它的超全局变量数组中。
什么是超全局变量?
超全局变量是 PHP 引擎已经定义的变量,可以在任何类型的范围内使用。它们随时可用。
有很多这样的超全局变量,但我们感兴趣的是 $_SERVER
超全局变量。
$_SERVER 超全局变量
$_SERVER
超全局变量具有许多可通过关联样式索引访问的属性。
我们可以访问的一些值包括:
- HTTP_USER_AGENT
- HTTP_HOST
- HTTP_ACCEPT_ENCODING
- HTTP_ACCEPT
那么,我们如何获得完整的 URL?
考虑到超全局变量和$_SERVER
超全局变量的上述几点,我们可以继续获取当前页面的 URL。
在下面的屏幕截图中,我在名为“home”的页面的本地环境中呈现了一个 PHP 应用程序。
URL 是 http://localhost/home。
在本页的代码中,我将使用$_SERVER
变量。
有了这个变量,我们将不得不使用 2 个单独的索引来获取当前页面 URL 的每个部分。第一部分是主机,localhost,第二部分是页面名称,home。
我们将使用的第一个索引是HTTP_HOST
– 当前的 Web 地址主机,例如 localhost 或 example.com
第二个是REQUEST_URI
,它将为我们提供主机后面的 URL 部分,因此这是 localhost 或 example.com 之后的任何内容。
让我们看看这个:
$currentPageUrl = ‘http://’ . $_SERVER[“HTTP_HOST”] . $_SERVER[“REQUEST_URI”];
echo “Current page URL ” . $currentPageUrl;
输出
就是这样 – 非常简单!
概括
$_SERVER
超全局变量存储了大量的重要信息。正如我们在这个例子中发现的那样,通过访问这个特定变量,获取当前页面的 URL 变得很简单。
不过,值得查看文档以了解还有哪些其他索引可用。
您可能对以下文章也感兴趣
- PHP抓网页内容,网址含中文路径时出错
- php获得网页源代码抓取网页内容的几种方法
- fopen()和file_get_contents()打开URL获得网页内容的用法区别