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();