PHP基础之$_SERVER(6)

PHP基础之$_SERVER

print_r($_SERVER); all news

echo "当前文件为".$_SERVER["PHP_SELF"]; 
echo "<br>"; 
echo "当前文件的地址为".$_SERVER["SCRIPT_FILENAME"]; 
echo "<br>"; 
echo "当前服务器的IP地址为:".$_SERVER["SERVER_ADDR"];
echo "<br />";
print_r($_FILES);
echo phpinfo();

获取当前页面URL

function curPageURL(){
	/*
	$pageURL = 'http';
	if (!empty($_SERVER['HTTPS'])) {
		$pageURL .= "s";
	}
	$pageURL .= "://";
	*/
	$pageURL = $_SERVER['REQUEST_SCHEME'] . '://';
	if ($_SERVER["SERVER_PORT"] != "80"){
		$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
	}else{
		$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
	}

	return $pageURL;
}

获取URL

/**
*获取url
*@return[type][description]
*/
function getUrl(){
	$pageURL='http';
	if(isset($_SERVER["HTTPS"])&&$_SERVER["HTTPS"]=="on"){
		$pageURL.="s";
	}
	$pageURL.="://";
	if($_SERVER["SERVER_PORT"]!="80"){
		$pageURL.=$_SERVER["HTTP_HOST"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
	}else{
		$pageURL.=$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
	}

	return $pageURL;
}

获取当前站点的访问路径根目录

/**
*获取当前站点的访问路径根目录
*@return[type][description]
*/
function getSiteUrl(){
$uri=$_SERVER['REQUEST_URI']?$_SERVER['REQUEST_URI']:($_SERVER['PHP_SELF']?$_SERVER['PHP_SELF']:$_SERVER['SCRIPT_NAME']);
return'http://'.$_SERVER['HTTP_HOST'].substr($uri,0,strrpos($uri,'/')+1);
}

echo getSiteUrl();

获取用户真实IP

function getIp() {
    if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP") , "unknown")) {
        $ip = getenv("HTTP_CLIENT_IP");
    } elseif (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR") , "unknown")) {
        $ip = getenv("HTTP_X_FORWARDED_FOR");
    } elseif (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR") , "unknown")) {
        $ip = getenv("REMOTE_ADDR");
    } elseif (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {
        $ip = $_SERVER['REMOTE_ADDR'];
    } else {
        $ip = "unknown";
    }
    return $ip;
}

获取客户端IP

/**
*获取客户端IP
*@return[string][description]
*/
function getClientIp() {
    $ip = NULL;
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
        $pos = array_search('unknown', $arr);
        if (false !== $pos) unset($arr[$pos]);
        $ip = trim($arr[0]);
    } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } elseif (isset($_SERVER['REMOTE_ADDR'])) {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    //IP地址合法验证
    $ip = (false !== ip2long($ip)) ? $ip : '0.0.0.0';
    return $ip;
}

获取在线IP

/**
 *获取在线IP
 *@return String
 */
function getOnlineIp($format = 0) {
    global $S_GLOBAL;
    if (empty($S_GLOBAL['onlineip'])) {
        if (getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP') , 'unknown')) {
            $onlineip = getenv('HTTP_CLIENT_IP');
        } elseif (getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR') , 'unknown')) {
            $onlineip = getenv('HTTP_X_FORWARDED_FOR');
        } elseif (getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR') , 'unknown')) {
            $onlineip = getenv('REMOTE_ADDR');
        } elseif (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
            $onlineip = $_SERVER['REMOTE_ADDR'];
        }
        preg_match("/[\d\.]{7,15}/", $onlineip, $onlineipmatches);
        $S_GLOBAL['onlineip'] = $onlineipmatches[0] ? $onlineipmatches[0] : 'unknown';
    }
    if ($format) {
        $ips = explode('.', $S_GLOBAL['onlineip']);
        for ($i = 0; $i < 3; $i++) {
            $ips[$i] = intval($ips[$i]);
        }
        return sprintf('%03d%03d%03d', $ips[0], $ips[1], $ips[2]);
    } else {
        return $S_GLOBAL['onlineip'];
    }
}
echo getOnlineIp();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值