当用户访问我们的网站时候,我们可以记录用户的ip信息,如果要进行数据分享,精准营销就需要我们通过ip去获取游客的大概的地理信息,比如国家城市等
下面我们介绍两种方式
第一种
通过第三接口去获取
优势:ip库更新及时,能获取到最新数据,获取比较简单
劣势:大部分是收费(免费的也有但是库的更新比如收费的),当需要获取大量ip时候,获取速度会比较慢
比如:‘w删w删w.geoplugin.net/json.gp?ip=123.21.24.1“
第二种
通过插件运用本地IP库去获取数据
优势:获取速度快,免费
劣势:ip库需要手动去更新
下面介绍php 的一个插件
Geoip2
注意:建议用composer安装 github下载的有许多报错,不知道是否是我下载版本问题
下载:MaxMind
Geoip2 中需要用到这个github可以下载
代码实现(下面是我用geoip2获取到了,ip所在大洲和所在的国家)
use GeoIp2\Database\Reader;
function area_country($ip){
if($ip=='0.0.0.0'){
return false;
}
$reader = new Reader('./GeoLite2-City.mmdb');//ip库文件
$record = $reader->city($ip);
$country_code=$record->country->isoCode; // '/ '国家简写比如:美国:US'
US'
//dump($country_code);
$area_code=$record->continent->code; // '大洲简写比如:欧洲:EU'
$data['area']=$area_code;
$data['country']=$country_code;
return $data;
}
怎么去下载ip库
https://w删w删w删.maxmind.com/en/accounts/827334/geoip/downloads
注意需要注册用户
登入页面
下载GeoLite2 City数据放入网站目录,在下面的地方填入文件所在地址