技术文摘
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地址。
- 正经开发人员的安全意识培养
- 手把手掌握搭建 TS+Rollup 初始开发环境的方法
- 面试官提及 Tomcat 连接器 我竟一脸茫然
- 全面掌握 HDFS 跨集群跨版本数据同步工具 Hadoop Distcp 仅需一篇文章
- Go 的 Atomic.Value 无需加锁如何保证数据线程安全?
- 莫让元宇宙成为“割韭菜”之地
- 九张图读懂一致性哈希原理
- 每日算法之回文子串
- Leetcode 必备算法:解析滑动窗口
- 不知道跳表?你竟敢去面 BAT!
- 最大子序和:贪心与动态规划
- 老板询问我基于内容的推荐是什么
- Python 自然语言处理入门指南
- 五招解决编码风格不一和代码杂乱的痛点
- Python 中 urllib 库(操作 URL)一文搞定