librarymarket/maxmind-db-reader

一个非官方库,用于方便地读取 MaxMind 数据库文件格式。

1.0.1 2022-07-01 15:48 UTC

This package is auto-updated.

Last update: 2024-08-29 05:44:28 UTC


README

PHPStan Maintainability

一个非官方库,用于方便地读取 MaxMind 数据库文件格式。

为什么?

MaxMind 的开源 PHP 库用于读取 *.mmdb 文件,与 GNU 通用公共许可证,版本 2 不兼容。因此,我们决定基于 MaxMind 的公开文件格式规范及其 Ruby 库(当时此库编写时 MIT 许可双授权)实现自己的数据库读取器。

要求

对于解码超过 31 位长度的无符号整数,可能需要 ext-bcmathext-gmp。但这取决于您尝试读取的数据库内容。

用法

  1. 通过提供磁盘上 MaxMind 数据库文件的路径来创建数据库读取器的一个实例。
  2. 调用 Reader::searchForAddress(string $ip_address, int &$depth = 0): array 从数据库中检索有关 IP 地址的信息。
    • 如果 IP 地址在数据库中未找到,则返回一个空数组。
    • 如果提供了可选的第二个参数,它将填充地址找到的位深度。这是结果的子网掩码。
$reader = new \LibraryMarket\MaxMind\Database\Reader('/path/to/database.mmdb');

// Search for an IP address in human-readable format.
$reader->searchForAddress('127.0.0.1');
$reader->searchForAddress('::1');

许可

版权所有 (c) 2022 图书馆解决方案有限责任公司(等)。

这是免费软件,根据 MIT 许可证授权。有关完整的许可文本,请参阅此项目根目录中的 LICENSE.txt