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获得网页内容的用法区别