PHP 判断 HTTP 还是 HTTPS
在 PHP 中,判断当前是否使用 HTTPS 协议可以使用 `$_SERVER['HTTPS']` 变量。该变量会返回值为 `on` 或 `off`,如果当前使用的是 HTTPS 协议,则返回 `on`,否则返回 `off`。
下面是一个使用 `$_SERVER['HTTPS']` 变量判断当前使用的协议的示例代码:
```
if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') {
// 当前使用的是 HTTPS 协议
echo 'Current protocol is HTTPS.';
} else {
// 当前使用的是 HTTP 协议
echo 'Current protocol is HTTP.';
}
?>
```
获取当前 URL 的方法
要获取当前页面的 URL,在 PHP 中可以使用 `$_SERVER['REQUEST_URI']` 和 `$_SERVER['HTTP_HOST']` 变量。其中,`$_SERVER['REQUEST_URI']` 变量返回当前页面的相对路径,而 `$_SERVER['HTTP_HOST']` 变量返回当前页面的主机名。
下面是一个使用 `$_SERVER['REQUEST_URI']` 和 `$_SERVER['HTTP_HOST']` 变量获取当前页面 URL 的示例代码:
```
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http';
$url = $protocol . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
echo 'Current URL is: ' . $url;
?>
```
上面的代码中,首先判断当前使用的协议,然后使用 `$_SERVER['HTTP_HOST']` 和 `$_SERVER['REQUEST_URI']` 变量拼接出当前页面的 URL。
完整示例代码
下面是一个完整的示例代码,可以在浏览器中访问验证:
```php
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http';
$url = $protocol . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') {
$protocol_text = 'HTTPS';
} else {
$protocol_text = 'HTTP';
}
echo "当前使用的协议
";echo "当前使用的协议是 {$protocol_text}。";
echo "使用的变量是
\$_SERVER['HTTPS']
。";
echo "当前 URL
";echo "当前访问的 URL 是 {$url}。";
echo "使用的变量是
\$_SERVER['REQUEST_URI']
和 \$_SERVER['HTTP_HOST']
。";
?>
```
在上面的代码中,首先使用 `$protocol` 和 `$url` 变量获取当前使用的协议和当前 URL,然后根据这两个变量输出相应的内容。使用了 `` 和 `` 标签对内容进行了分组,使用了 `` 标签对使用的变量进行了代码高亮处理。
` 标签对使用的变量进行了代码高亮处理。