📜  获取站点 url - PHP (1)

📅  最后修改于: 2023-12-03 15:11:53.109000             🧑  作者: Mango

获取站点 URL - PHP

在 PHP 中,获取当前运行的站点的 URL 是一个很常见的需求。通常,我们需要在代码中生成站点 URL,例如,用于指向网站的内部链接或者创建外部链接。在本文中,我们将介绍如何使用 PHP 代码获取当前运行的站点的 URL。

使用 $_SERVER['HTTP_HOST'] 和 $_SERVER['REQUEST_URI'] 获取站点 URL

我们可以使用 PHP 数组 $_SERVER 中的键 $_SERVER['HTTP_HOST'] 和 $_SERVER['REQUEST_URI'] 来获取当前运行的站点的 URL。HTTP_HOST 键用于获取当前域名,而 REQUEST_URI 键用于获取当前请求的 URI(包括查询字符串)。我们可以将两个值拼接在一起,以生成完整的站点 URL。

$site_url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

上述代码将生成包含协议、域名、URI 的完整站点 URL。

使用 parse_url() 函数获取站点 URL

PHP 中的 parse_url() 函数可用于解析当前请求的 URL。它将 URL 拆分为协议、主机名、路径等部分,并将这些部分存储在一个数组中。然后,我们可以使用这些部分构建我们的站点 URL。

$url_parts = parse_url($_SERVER['REQUEST_URI']);
$site_url = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'] . $url_parts['path'];

在上述代码中,我们首先使用 parse_url() 函数来解析 REQUEST_URI 的值。然后,我们可以使用 $_SERVER 数组中的键 $_SERVER['HTTP_HOST'] 和 $_SERVER['REQUEST_SCHEME'] 来获取 URL 的主机名和协议。最后,我们将主机名、协议和路径拼接在一起,以生成完整的站点 URL。

总结

在 PHP 中,有多种方法可以获取当前运行的站点的 URL。使用 $_SERVER['HTTP_HOST'] 和 $_SERVER['REQUEST_URI'] 可以轻松地获取完整的站点 URL。而 parse_url() 函数则可以帮助我们解析 URL 的各个部分。无论你使用哪种方法,获取站点 URL 都是非常简单而重要的。