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();
}
以上就是本文的全部内容了,希望大家能够喜欢。