我有一些 IP 地址($_SERVER['REMOTE_ADDR']
),我必须收到(学习)国家名称,如果我也能收到(学习)城市名称,那就太好了。并且不要忘记它是 php-project,有用的 API - 非常好。
PS这是一些开源项目,我们必须只使用免费和开源的工具。
我有一些 IP 地址($_SERVER['REMOTE_ADDR']
),我必须收到(学习)国家名称,如果我也能收到(学习)城市名称,那就太好了。并且不要忘记它是 php-project,有用的 API - 非常好。
PS这是一些开源项目,我们必须只使用免费和开源的工具。
None (only the 'GeoIP.dat' file is needed). To download a free GeoIP Standard Country database, go to http://maxmind.com/download/geoip/database/
Install
Just place the 'geoip.inc' file somewhere according to the 'include_path' directive of your 'php.ini' file, or just place it in the same directory as your PHP scripts.
Usage
Gets country name by hostname :
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 有一些有用的内置GeoIP 功能。它们应该足够了:
$details = geoip_record_by_name($_SERVER['REMOTE_ADDR']);
echo $details['city'];
你也可以在这里看看:MaxMind GeoIP PHP API
我决定使用来自http://lite.ip2location.com/的免费数据库,它比迄今为止所有其他人都做得更好。
Linux环境 下 1. sudo yum install php56-devel geoip geoip-devel php-pear 2. sudo pecl install geoip 3. extension=geoip.so (在php.ini中加入这一行) 4. 将.dat文件移动到/usr/共享/GeoIP 文件夹
在 Windows 环境 中 1. 将 .dll 移动到 ext 文件夹 2. 将 .dat 文件移动到 apache/bin 文件夹 3. 在 php.ini 中添加 dll 扩展