七寸往事 发表于 2014-10-25 20:58

PHP调用GEOIP数据获取IP精确信息

第一种方法:
下载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 所在地地图,我就不继续演示了 :)

laiweikun12 发表于 2014-10-25 21:08


弄网站方便多了,支持 下载看看!!

浪人随风 发表于 2014-10-25 21:09

沙发吗 不错下载试试看

manbajie 发表于 2014-10-26 13:01

看看怎么做到的

七寸往事 发表于 2014-10-26 13:35

manbajie 发表于 2014-10-26 13:01
看看怎么做到的

求加分啊,大大!
页: [1]
查看完整版本: PHP调用GEOIP数据获取IP精确信息