📅  最后修改于: 2023-12-03 15:24:51.315000             🧑  作者: Mango
在 PHP 中,我们可以使用 $_SERVER['HTTPS']
变量来检查页面是否是从 HTTPS 中调用的,如果该变量被定义,则页面是从 HTTPS 中调用的,否则是从 HTTP 中调用的。
以下是一个简单的代码示例:
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on'){
// 页面通过 HTTPS 访问
} else {
// 页面通过 HTTP 访问
}
在上面的代码中,我们首先使用 isset()
函数来检查 $_SERVER['HTTPS']
是否被设置,然后再使用比较运算符 ==
来检查它的值是否等于 "on"
,如果两个条件都成立,那么页面就是从 HTTPS 中调用的,否则就是从 HTTP 中调用的。
除了上面的示例代码,我们还可以使用下面的快捷方法:
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on'){
$protocol = 'https://';
} else {
$protocol = 'http://';
}
在上面的代码中,我们首先使用 isset()
函数来检查 $_SERVER['HTTPS']
是否被设置,然后再使用比较运算符 ===
来检查它的值是否等于 "on"
,如果两个条件都成立,那么将变量 $protocol
的值设置为 "https://"
,否则将其设置为 "http://"
。
这样,我们就可以使用变量 $protocol
来确定页面是从 HTTPS 还是 HTTP 中调用的了。例如:
$url = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
在上面的代码中,我们首先将变量 $url
初始化为协议(即 $protocol
变量的值)和主机名(即 $_SERVER['HTTP_HOST']
变量的值)的组合,然后加上请求 URI(即 $_SERVER['REQUEST_URI']
变量的值),最终得到完整的 URL。