📜  获取PHP的完整 URL(1)

📅  最后修改于: 2023-12-03 14:57:13.304000             🧑  作者: Mango

获取PHP的完整URL

在开发PHP应用程序时,获取当前页面的完整URL非常有用。在PHP中,您可以使用预定义的变量 $_SERVER 来获取当前页面的URL。

方法一

下面是使用 $_SERVER 变量获取完整URL的代码示例:

<?php
// 获取当前页面的URL
$url = 'http';
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') {
    $url .= "s";
}
$url .= "://";
if($_SERVER['SERVER_PORT'] != '80') {
    $url .= $_SERVER['SERVER_NAME'].":".$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI'];
} else {
    $url .= $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
}
echo $url;
?>

这个代码块首先检查当前页面是否通过 HTTPS 访问,然后使用预定义的变量构建完整URL。如果该页面使用 HTTPS 协议,则将“http”更改为“https”。如果此页面不是通过默认HTTP端口(80)访问的,则将端口号添加到URL中。

方法二

还有一种更加简单的方法,可以直接从 $_SERVER 变量中提取完整URL:

<?php
// 获取当前页面的URL
$url = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http";
$url .= "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
echo $url;
?>

这个代码块更加短小精悍,使用了PHP的短路语法,直接从 $_SERVER 变量中提取完整URL。这种方法与上述方法相同,只是它更加简洁。

无论使用哪种方法,您都可以轻松获取当前页面的完整URL,以便在代码中使用。