PHP实现获取客户端IP并获取IP信息
代码很简洁,功能很实用,这里就不多废话了,直接奉上:
<?php /** *获取客户端IP *@param integer$type返回类型0:string,1:long *@returnstring|long */ functiongetClientIp($type=0){ $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']; } $long=sprintf("%u",ip2long($ip)); $ip =$long?array($ip,$long):array('0.0.0.0',0); return$ip[$type]; } /** *获取IP信息 *@param string|long$ip IP地址 *@returnarray */ functiongetIpInfo($ip) { if(is_long($ip)){ $ip=long2ip($ip); } $api='http://ip.taobao.com/service/getIpInfo.php'; $ret=file_get_contents($api.'?ip='.$ip); $ret=json_decode($ret,true); if($ret['code']==0){ return$ret['data']; } returnarray(); }
以上就是本文的全部内容了,希望大家能够喜欢。