+
95
-

回答

 可以判断一下,代码如下:

<?php

//判断是否是HTTPS
function isHTTPS()
{
if (defined('HTTPS') && HTTPS) return true;
if (!isset($_SERVER)) return FALSE;
if (!isset($_SERVER['HTTPS'])) return FALSE;
if ($_SERVER['HTTPS'] === 1) { //Apache
return TRUE;
} elseif ($_SERVER['HTTPS'] === 'on') { //IIS
return TRUE;
} elseif ($_SERVER['SERVER_PORT'] == 443) { //其他
return TRUE;
}
return FALSE;
}

function getscheme(){
return (isHTTPS() ? 'https://' : 'http://');
}

//示例网址:https://web.debug.only.bfw.wiki/Data/PRZhDmJJPfAAdaJS.php?id=5
//获取域名或主机地址
echo $_SERVER['HTTP_HOST']."<br>"; #web.debug.only.bfw.wiki
//获取网页地址
echo $_SERVER['PHP_SELF']."<br>"; #/Data/PRZhDmJJPfAAdaJS.php
//获取网址参数
echo $_SERVER["QUERY_STRING"]."<br>"; #id=5
//获取用户代理
echo $_SERVER['HTTP_REFERER']."<br>";
//获取完整的url
echo getscheme().$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."<br>";;
echo getscheme().$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']."<br>";;
#https://web.debug.only.bfw.wiki/Data/PRZhDmJJPfAAdaJS.php?id=5
//包含端口号的完整url
echo getscheme().$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]."<br>";;
#https://web.debug.only.bfw.wiki:443/Data/PRZhDmJJPfAAdaJS.php?id=5
//只取路径
$url=getscheme().$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]."<br>";;
echo dirname($url);


网友回复

我知道答案,我要回答