PHP获取真实IP

if (!function_exists('client_ip')) {
/**
* 返回不同环境下获取真实的IP
* @return $realip ip地址
*/
function client_ip(){
//判断服务器是否允许$_SERVER
if(isset($_SERVER)){
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
$realip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}elseif(isset($_SERVER['HTTP_CLIENT_IP'])) {
$realip = $_SERVER['HTTP_CLIENT_IP'];
}else{
$realip = $_SERVER['REMOTE_ADDR'];
}
}else{
//不允许就使用getenv获取
if(getenv("HTTP_X_FORWARDED_FOR")){
$realip = getenv( "HTTP_X_FORWARDED_FOR");
}elseif(getenv("HTTP_CLIENT_IP")) {
$realip = getenv("HTTP_CLIENT_IP");
}else{
$realip = getenv("REMOTE_ADDR");
}
}
return $realip;
}
}


****************************只要思想不滑坡,办法总比困难多****************************