第一种方法:
下载PHP的GEO_IP拓展安装,直接就能用里面的函数。
方法简单,我就不多说。
第二种方法:
下载配置文件和IP数据库,PHP调用。
所需文件下载:http://yunpan.cn/csVXAGsHBuCSj (提取码:0c7c)
放到同目录下,建立PHP文件:function geo_ip($ip){
include_once("geoipcity.inc");
include_once("geoipregionvars.php");
$gi = geoip_open("GeoLiteCity.dat",GEOIP_STANDARD); //调用MaxMind IP数据
$record = geoip_record_by_addr($gi,$ip);
$arr = Array(
"国家代码" => $record->country_code,
"国家" => $record->country_name,
"地区" => $GEOIP_REGION_NAME[$record->country_code][$record->region],
"城市" => $record->city,
"邮政编码" => $record->postal_code,
"经纬度" => $record->longitude.", ".$record->latitude,
"区域" => $record->continent_code
);
$newarr = array_filter($arr);
foreach($newarr as $key => $value){
echo $key." => ".$value.'<br>';
}
}
geo_ip("8.8.8.8");
查询IP 8.8.8.8会显示如下:
我用的是国外MaxMind 免费下载的IP数据,已经包含了IP的经纬度信息,并且准确率也还行。而国内的纯真IP数据库并没有包含经纬度信息。
当然,MaxMind还有一个精确率更高的数据库,不过是收费版本!(#‵′)凸
有兴趣的童鞋也可以自行调用Google Map API获得IP 所在地地图,我就不继续演示了 :)
|