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

NiL*_*iLL 4 php geolocation geoip

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

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

crm*_*cco 5

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

安装

只需根据“php.ini”文件的“include_path”指令将“geoip.inc”文件放置在某个位置,或者将其放置在与 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";
Run Code Online (Sandbox Code Playgroud)

哈。


jwu*_*ler 2

PHP 有一些有用的内置GeoIP 函数。它们应该足够了:

$details = geoip_record_by_name($_SERVER['REMOTE_ADDR']);
echo $details['city'];
Run Code Online (Sandbox Code Playgroud)

  • 并不是因为它们在手册中,所以它们是内置的,你知道......这个不是。 (2认同)