技术文摘
PHP获取当前url具体方法详解
2025-01-02 01:33:06 小编
PHP获取当前url具体方法详解
在PHP开发中,有时候我们需要获取当前页面的URL地址,比如用于日志记录、生成分享链接或者根据不同的URL进行特定的业务逻辑处理等。下面将详细介绍几种在PHP中获取当前URL的方法。
方法一:使用$_SERVER['REQUEST_URI']
$_SERVER['REQUEST_URI'] 变量包含了当前请求的URI,也就是从域名后面开始的部分。示例代码如下:
<?php
$current_uri = $_SERVER['REQUEST_URI'];
$current_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on'? "https" : "http"). "://$_SERVER[HTTP_HOST]$current_uri";
echo $current_url;
?>
在这段代码中,首先获取了 REQUEST_URI,然后根据是否是HTTPS协议构建完整的URL。
方法二:使用$_SERVER['PHP_SELF']
$_SERVER['PHP_SELF'] 包含了当前正在执行的PHP脚本的文件名。结合其他服务器变量可以构建出当前URL。示例如下:
<?php
$current_file = $_SERVER['PHP_SELF'];
$current_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on'? "https" : "http"). "://$_SERVER[HTTP_HOST]$current_file";
if (!empty($_SERVER['QUERY_STRING'])) {
$current_url.= '?'. $_SERVER['QUERY_STRING'];
}
echo $current_url;
?>
这里先构建了基本的URL,然后如果有查询字符串则添加到URL后面。
方法三:使用parse_url()函数
可以先获取完整的请求URL,然后使用 parse_url() 函数对其进行解析和处理。示例代码:
<?php
$full_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on'? "https" : "http"). "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$url_parts = parse_url($full_url);
$current_url = $url_parts['scheme'].'://'.$url_parts['host'].$url_parts['path'];
if (isset($url_parts['query'])) {
$current_url.= '?'.$url_parts['query'];
}
echo $current_url;
?>
以上就是PHP中获取当前URL的几种常见方法,开发者可以根据具体的需求和场景选择合适的方式来获取准确的当前URL地址。
- Redis SETEX 命令用于键值对管理
- Redis TTL 命令与数据生存时间的实现
- Oracle23ai 中 IF [NOT] EXISTS 语法支持的应用
- SQL Server 中.BAK 文件损坏的成因与解决之道
- Oracle 外键约束的三种删除行为概览
- SQL Server 数据库常用语句汇总全集
- Oracle 23ai 中 VECTOR 数据类型这一重要新特性的使用
- Redis 中 TYPE 命令的具体运用
- Oracle 特有的 DECODE 函数之运用
- Oracle 数据库中多行转一列逗号分割的两种方法
- Redis 在项目中的 12 种常见使用场景示例与说明
- Redis Sorted Set 类型的运用及场景
- Oracle 中利用存储过程实现表数据以 Excel 格式导出的操作指南
- Oracle 以 backup as copy 方式迁移数据文件的流程步骤
- Redis 延迟队列项目示例实现