gpt4 book ai didi

php - 如何设置和使用 GeoIP Lite

转载 作者:搜寻专家 更新时间:2023-10-30 20:42:08 25 4
gpt4 key购买 nike

我需要能够使用 MaxMind GeoLite 版本来查找用户国家/地区、城市和经度/纬度。除了经度/纬度所需的数据库外,我需要哪些数据库是显而易见的。

需要数据库;

  • GeoLite 国家/地区
  • GeoLite 城市
  • 我还需要什么,或者可以通过上述数据库找到经度/纬度吗?

您可以下载多个版本。以下是您可以下载的列表;

  • 二进制/gzip
  • 二进制/xz
  • CSV/gzip
  • CSV/zip
  • CSV/xz

我不明白这些是什么意思,希望得到一些帮助来确定我需要下载哪一个。

虽然我可以在我的 1and1 企业帐户上使用,但我还没有对数据库做任何事情。谁能告诉我如何设置数据库并将这些文件上传到数据库?

最后,我在哪里可以找到有关使用我的新数据库、从中读取数据、将用户位置和诸如此类的内容回显到页面的帮助?

感谢您抽出宝贵时间和提前提供的任何帮助。

最好的问候,蒂姆

最佳答案

如果您可以直接访问服务器/命令行,则可以使用二进制格式。这提供了更好的性能,但您需要更改 PHP 配置以安装 GeoIP 扩展或 Pecl 包。然后,您可以访问一些方便的 PHP 函数:http://www.php.net/manual/en/ref.geoip.php

完整文档在这里:http://www.php.net/manual/en/book.geoip.php

如果您无权访问服务器配置,您可以下载 CSV 版本并将其导入 MySQL 数据库。然后,您将可以直接访问数据,并可以编写相关查询以生成您的应用程序所需的结果。如果您使用的是 PHP MyAdmin MySQL 面板,您可以直接下载 CSV gz 或 zip 并上传/导入。您需要先创建表。请记住在相关列上创建索引。

GeoLite City 包含两个表,IP block/City 和 City Locations (lat/lng)。 GeoLite Country 仅包含 IP block 和国家/地区名称。

如果不需要IP数据,世界城市数据库可能更合适:http://www.maxmind.com/en/worldcities

--编辑

如果您只关心 geoIP 城市数据的第二个文件,则以下 SQL 将创建一个包含必要列的表:

DROP TABLE IF EXISTS location;
CREATE TABLE location(
locId int(10) unsigned NOT NULL,
country char(2) NOT NULL,
region char(2) NOT NULL,
city varchar(50),
postalCode char(5) NOT NULL,
latitude float,
longitude float,
dmaCode integer,
areaCode integer,
PRIMARY KEY (locId)
);

Google 是您的 friend :http://odkq.com/geolitecity

关于php - 如何设置和使用 GeoIP Lite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15044387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com