获取完整 URL 的 PHP 方法195


在 PHP 中获取完整的 URL(统一资源定位符)非常有用,因为它允许您访问有关当前页面或脚本的各种信息。无论是出于调试目的还是用于创建重定向和绝对链接,了解如何获取完整的 URL 都是必不可少的。

$_SERVER['REQUEST_URI']

获取完整 URL 的最常见方法之一是使用 $_SERVER['REQUEST_URI'] 变量。此变量包含浏览器发送到服务器的请求 URI。它包括查询字符串,但不包括协议或主机名。
// 获取完整的 URL,包括查询字符串
$url = "" . $_SERVER['REQUEST_URI'];

$_SERVER['SERVER_NAME'] 和 $_SERVER['REQUEST_URI']

另一个获取完整 URL 的方法是结合使用 $_SERVER['SERVER_NAME'] 和 $_SERVER['REQUEST_URI'] 变量。 $_SERVER['SERVER_NAME'] 包含服务器的主机名,而 $_SERVER['REQUEST_URI'] 包含请求 URI。
// 获取完整的 URL,不包括查询字符串
$url = "" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];

$_SERVER['SCRIPT_NAME'] 和 $_SERVER['QUERY_STRING']

您还可以使用 $_SERVER['SCRIPT_NAME'] 和 $_SERVER['QUERY_STRING'] 变量来获取完整的 URL。$_SERVER['SCRIPT_NAME'] 包含当前脚本的路径,而 $_SERVER['QUERY_STRING'] 包含查询字符串。
// 获取完整的 URL,包括查询字符串
$url = "" . $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'] . '?' . $_SERVER['QUERY_STRING'];

parse_url() 函数

parse_url() 函数可用于解析 URL 并获取其各个部分。这可以用于创建绝对链接或重定向。
$url = "/?id=123";
// 解析 URL
$parsed_url = parse_url($url);
// 获取主机名
$host = $parsed_url['host'];
// 获取路径
$path = $parsed_url['path'];
// 获取查询字符串
$query = $parsed_url['query'];

小贴士* 在使用 $_SERVER 变量时,请确保您不会在用户的输入中注入数据,因为这可能会导致安全漏洞。
* 始终对您的 URL 进行编码,以避免特殊字符引起问题。
* 您可以使用 header() 函数重定向到其他 URL。

了解如何获取完整的 URL对于各种 PHP 应用程序至关重要。通过使用上面介绍的方法,您可以轻松地访问有关当前页面或脚本的各种信息。无论是出于调试目的还是用于创建重定向和绝对链接,这些方法都将帮您轻松获取所需信息。

2024-10-26


上一篇:PHP 字符串截取函数:拆解解析与应用指南

下一篇:PHP 字符串取前指定数量字符