📅  最后修改于: 2023-12-03 15:24:33.643000             🧑  作者: Mango
在Web开发中,获取当前页面的URL是一个比较基础的操作。在PHP中,我们可以通过一些函数和变量来获取当前页面的URL。下面是一些获取当前页面URL的方法:
在PHP中,$_SERVER 是一个包含有关服务器和执行脚本的信息的超全局变量数组。通过 $_SERVER['REQUEST_URI'] 可以获取当前请求的URI(不包括协议和域名)。
示例代码:
$current_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
这里将 $_SERVER['HTTP_HOST']
和 $_SERVER['REQUEST_URI']
拼接起来,就可以得到当前页面的完整URL。
如果当前页面使用HTTPS协议,可以使用 $_SERVER['HTTPS'] 判断。使用 $_SERVER['HTTP_HOST'] 获取当前域名。
示例代码:
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') ? 'https' : 'http';
$current_url = $protocol . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
这里首先判断 $_SERVER['HTTPS'] 是否存在,如果存在且不为 'off',则使用 HTTPS 协议。否则使用 HTTP 协议。
这种方法获取到的完整URL,包括协议、域名和URI。
使用 PHP 内置函数 parse_url() 可以将一个URL字符串解析成多个组成部分的数组。我们可以通过 parse_url() 函数获取当前页面的协议、域名和URI,并拼接成完整的URL。
示例代码:
$url_components = parse_url($_SERVER['REQUEST_URI']);
$current_url = $_SERVER['HTTP_HOST'] . $url_components['path'];
if (isset($url_components['query'])) {
$current_url .= '?' . $url_components['query'];
}
上面的代码在获取URI和查询字符串时,使用了 parse_url() 函数的 path 和 query 属性。
这种方法获取到的完整URL,包括域名和URI,不包括协议。
以上三种方法都可以用来获取当前页面的完整URL。具体使用哪种方法,可以根据具体情况进行选择。
以上就是获取当前页面URL的三种常用方法。在Web开发中,获取当前页面URL是一个常见的需求,掌握这些方法可以帮助程序员更快、更准确地获取到需要的URL信息。