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

发布于 2024-10-07 09:31:57 字数 185 浏览 3 评论 0原文

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

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

I have some IP adress ($_SERVER['REMOTE_ADDR']) and I must receive (learn) name of country and it would be nice if I can receive (learn) name of city too. And don't forget It's php-project, useful API - very good.

P.S. It's some open-source project and we must use only free and open-source tools.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

自此以后,行同陌路 2024-10-14 09:31:57

无(仅需要“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。

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.

撑一把青伞 2024-10-14 09:31:57

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

$details = geoip_record_by_name($_SERVER['REMOTE_ADDR']);
echo $details['city'];

PHP has some useful builtin GeoIP-functions. They should be sufficient:

$details = geoip_record_by_name($_SERVER['REMOTE_ADDR']);
echo $details['city'];
冷弦 2024-10-14 09:31:57

在Linux环境下
1. sudo yum install php56-devel geoip geoip-devel php-pear
2. sudo pecl 安装 geoip
3.extension=geoip.so(在php.ini中添加此行)
4.将.dat文件移动到/usr/share/GeoIP文件夹中

在Windows环境中
1.将.dll移动到ext文件夹中
2.将.dat文件移动到apache/bin文件夹中
3.在php.ini中添加dll扩展

In Linux Environment
1. sudo yum install php56-devel geoip geoip-devel php-pear
2. sudo pecl install geoip
3. extension=geoip.so (add this line in php.ini)
4. move .dat file in /usr/share/GeoIP folder

In Windows Environment
1. move .dll in ext folder
2. move .dat file in apache/bin folder
3. add dll extension in php.ini

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文