获取服客户端ip

来源:互联网 发布:淘宝互刷群沈阳 编辑:程序博客网 时间:2024/04/29 22:43
/**
 * 获取客户端IP地址
 *@paraminteger $type 返回类型 0 返回IP地址 1 返回IPV4地址数字
 *@returnmixed
 */
functionget_client_ip($type = 0) {
    $type       =  $type ? 1 : 0;
   static$ip  =  NULL;
   if($ip !==NULL)return$ip[$type];
   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地址合法验证
    $long = sprintf("%u",ip2long($ip));
    $ip   = $long ?array($ip, $long) :array('0.0.0.0', 0);
   return$ip[$type];
}