Skip to content

Instantly share code, notes, and snippets.

@zy108830
Created May 6, 2016 12:51
Show Gist options
  • Save zy108830/c5e30680c30c014bf425bbc389ef8107 to your computer and use it in GitHub Desktop.
Save zy108830/c5e30680c30c014bf425bbc389ef8107 to your computer and use it in GitHub Desktop.
获取客户端IP
public static function get_client_ip($type=0,$adv=false){
$type=$type?1:0;
static $ip=null;
if($ip!==null){
return $ip[$type];
}
if($adv){
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'];
}
}elseif(isset($_SERVER['REMOTE_ADDR'])){
$ip=$_SERVER['REMOTE_ADDR'];
}
// IP地址合法验证
$long=sprintf("%u",ip2long($ip));
$ip=$long?[
$ip,
$long
]:[
'0.0.0.0',
0
];
return $ip[$type];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment