📜  php 获取上一个 url - PHP (1)

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

PHP 获取上一个 URL

在 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 解析成各个部分进行操作。