librarymarket / maxmind-db-reader
一个非官方库,用于方便地读取 MaxMind 数据库文件格式。
1.0.1
2022-07-01 15:48 UTC
Requires
- php: >=7.3
Suggests
- ext-bcmath: To support the decoding of unsigned integers of more than 31 bits in length
- ext-gmp: To support the decoding of unsigned integers of more than 31 bits in length
README
一个非官方库,用于方便地读取 MaxMind 数据库文件格式。
为什么?
MaxMind 的开源 PHP 库用于读取 *.mmdb
文件,与 GNU 通用公共许可证,版本 2 不兼容。因此,我们决定基于 MaxMind 的公开文件格式规范及其 Ruby 库(当时此库编写时 MIT 许可双授权)实现自己的数据库读取器。
要求
对于解码超过 31 位长度的无符号整数,可能需要 ext-bcmath
或 ext-gmp
。但这取决于您尝试读取的数据库内容。
用法
- 通过提供磁盘上 MaxMind 数据库文件的路径来创建数据库读取器的一个实例。
- 调用
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
。