php根据IP定位 国家 省市 ,使用GeoIP2

github : GitHub - maxmind/GeoIP2-php: PHP API for GeoIP2 webservice client and database reader

代码库下载:
链接: 百度网盘 请输入提取码 密码: s55k

使用方法:

//根据ip获得当前位置信息
use GeoIp2\Database\Reader;
function get_ip_location($ip = ''){
    if (empty($ip)) return [];
    //import('autoload',EXTEND_PATH.'GeoIP2/vendor');
    require 'GeoIP2/vendor/autoload.php'
    // This creates the Reader object, which should be reused across
    // lookups.
    //$reader = new Reader(EXTEND_PATH.'GeoIP2/maxmind-db/city_20180703/GeoLite2-City.mmdb');
    $reader = new Reader('GeoIP2/maxmind-db/city_20180703/GeoLite2-City.mmdb');
    $return = [];
    // Replace "city" with the appropriate method for your database, e.g.,
    // "country".
    $record = $reader->city($ip);
    $return['isoCode'] = $record->country->isoCode;
    $return['country_name'] = $record->country->name;
    $return['cn_country_name'] = $record->country->names['zh-CN'];
    $return['zones_name'] = $record->mostSpecificSubdivision->name;
    $return['zones_ios'] = $record->mostSpecificSubdivision->isoCode;
    $return['city_name'] = $record->city->name;
    $return['city_code'] = $record->postal->code;
    $return['latitude'] = $record->location->latitude;
    $return['longitude'] = $record->location->longitude;

    return $return;

}
结果:
Array
(
    [isoCode] => CN
    [country_name] => China
    [cn_country_name] => 中国
    [zones_name] => Beijing
    [zones_ios] => BJ
    [city_name] => Beijing
    [city_code] => 
    [latitude] => 39.9289
    [longitude] => 116.3883
)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PHP柚子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值