📅  最后修改于: 2023-12-03 15:33:39.111000             🧑  作者: Mango
在 Web 开发中,经常需要获取访问页面之前的 URL。这个需要可以通过 PHP 来实现。
可以使用 $_SERVER['HTTP_REFERER']
来获取上一个 URL,不过需要注意的是,这个值不是一定会存在,因为有些浏览器会禁用它,或者根本不会发送它。
以下是获取上一个 URL 的示例代码:
$lastUrl = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
这里使用了三目运算符来判断 $_SERVER['HTTP_REFERER']
是否存在。如果存在,那么将其值赋给 $lastUrl
,否则将 $lastUrl
的值设为空字符串。
注意到这里 $lastUrl
只是一个字符串,而不是 URL 对象。如果需要对其进行一些操作,比如解析 URL 中的各个部分,可以通过 parse_url()
函数来实现。以下是一个示例:
if (!empty($lastUrl)) {
$components = parse_url($lastUrl);
// 将会输出上一个 URL 的协议、主机名和路径部分
echo $components['scheme'] . '://' . $components['host'] . $components['path'];
}
这里使用 parse_url()
函数将 URL 划分为各个部分,并通过数组下标来获取协议、主机名和路径部分。需要注意的是,可能会存在一些 URL 没有主机名或路径部分的情况,因此在使用数组下标前需要先判断数组元素是否存在。
获取上一个 URL 是 Web 开发中常见的需求之一。可以通过 $_SERVER['HTTP_REFERER']
来获取它,但要注意它可能不存在。通过 parse_url()
函数可以将 URL 解析成各个部分进行操作。