php语言获取客户端ip地址的方法

PHP语言获取客户端IP地址的方法

第一种方法

function getIPAderss(){
    global $ip; 
    if (getenv("HTTP_CLIENT_IP")) 
        $ip = getenv("HTTP_CLIENT_IP"); 
    else if(getenv("HTTP_X_FORWARDED_FOR")) 
        $ip = getenv("HTTP_X_FORWARDED_FOR"); 
    else if(getenv("REMOTE_ADDR")) 
        $ip = getenv("REMOTE_ADDR"); 
    else 
        $ip = "Unknow"; 
    return $ip;
}

第二种方法

static function getIP(){
$ip=false; 
if(!empty($_SERVER['HTTP_CLIENT_IP'])){ 
    $ip=$_SERVER['HTTP_CLIENT_IP']; 
}
if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ 
    $ips=explode (', ', $_SERVER['HTTP_X_FORWARDED_FOR']); 
    if($ip){ array_unshift($ips, $ip); $ip=FALSE; }
    for ($i=0; $i < count($ips); $i++){
        if(!eregi ('^(10│172.16│192.168).', $ips[$i])){
            $ip=$ips[$i];
            break;
        }
    }
}
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}