首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GeoIP2教程(如何)?

GeoIP2教程(如何)?
EN

Stack Overflow用户
提问于 2016-07-26 21:58:39
回答 1查看 3.8K关注 0票数 2

我使用了GeoIp,使用了纯PHP代码。但是GeoIp2变成了名称空间等等,此时我无法找到如何使用它。我已经下载了GeoLite2-Country.mmdb,以及现在如何获取IP的国家名称,即123.123.123.123

附注:我没有吉特/作曲家等等。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-27 08:28:21

我是如何做到这一点的:比方说,创建一个名为"My_Folder“的文件夹并在其中:

1)创建GeoIp2文件夹,并将此"SRC“文件夹(下载)的内容放入其中。

2)放置MaxMind文件夹(下载,来自"SRC“文件夹)。

( 3)地点即GeoLite2-Country.mmdb (下载)。

然后,在My_Folder中创建一个example.php文件并放入以下代码:

代码语言:javascript
复制
$user_ip='123.123.123.123';

spl_autoload_register('func888'); function func888($class){ include_once(str_replace(array('/','\\'), DIRECTORY_SEPARATOR, dirname(__file__)."/$class.php")) ;}
use GeoIp2\Database\Reader; 
//you can do it for "city" too.. just everywhere change phrase "country" with "city".
try{
    $reader = new Reader(dirname(__file__)."/GeoLite2-Country.mmdb");
    $record = $reader->country($user_ip);
    $reader->close();
    $country_name =  $record->raw['country']['names']['en'];
} catch ( GeoIp2\Exception\AddressNotFoundException $e ){    $country_name = 'not_found';  }

echo $country_name;
// RESULTS -------------- > China

附注:其他示例见:https://github.com/maxmind/GeoIP2-php

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38600550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档