php - 如何在 PHP 项目中创建 GeoIP 功能?

标签 php geolocation geoip

我有一些 IP 地址 ($_SERVER['REMOTE_ADDR']),我必须接收(学习)国家名称,如果我也能接收(学习)城市名称就好了.别忘了它是 php-project,有用的 API - 非常好。

P.S.这是一些开源项目,我们必须只使用免费和开源的工具。

最佳答案

无(只需要“GeoIP.dat”文件)。下载免费的 GeoIP 标准国家/地区 数据库,去 http://maxmind.com/download/geoip/database/

安装

只需将“geoip.inc”文件根据“include_path”指令放在某处即可 您的“php.ini”文件,或者将其放在与您的 PHP 脚本相同的目录中。

用法

通过主机名获取国家名称:

include("geoip.inc");

$gi = geoip_open("/usr/local/share/GeoIP/GeoIP.dat",GEOIP_STANDARD);

echo geoip_country_code_by_addr($gi, "24.24.24.24") . "\t" .
     geoip_country_name_by_addr($gi, "24.24.24.24") . "\n";
echo geoip_country_code_by_addr($gi, "80.24.24.24") . "\t" .
     geoip_country_name_by_addr($gi, "80.24.24.24") . "\n";

HTH.

关于php - 如何在 PHP 项目中创建 GeoIP 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4422817/

相关文章:

magento - Nginx + PHP-FPM + Magento 的 FastCGI 缓存配置

php - 通过 mysqli_query() 将长查询传递给 MySQLI

ios - 在 Swift 上计算我的位置和 MapKit 引脚之间的距离

elasticsearch - Elasticsearch geoip.location映射为double而不是geo_point

nginx - 更新 GeoIP.dat 时 nginx 重新加载是否足够

php - Yii 关系查询与 MySQL 的 SUM

php - CakePHP Controller

backbone.js - 根据全局变量的变化更新 Backbone 模型?

android - android中智能计算两个地理位置之间的距离

php - GeoIP 和 IP 到 PHP 中的国家/地区