larryli / monipdb
使用 PHP 数组式访问 ipip.net 数据库。
2.1.4
2018-06-29 05:13 UTC
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: >=4.0
This package is not auto-updated.
Last update: 2024-11-24 07:11:52 UTC
README
使用 PHP 数组式访问 ipip.net 数据库。
使用方法
需要 PHP 5.4 以上版本,无其他依赖。
composer require larryli/monipdb
$monipdb = new \larryli\monipdb\Monipdb('17monipdb.datx'); // or $monipdb = new \larryli\monipdb\Monipdb('17monipdb.dat', false); // find echo "202.103.24.68: {$monipdb['202.103.24.68']}\n"; // dump echo count($monipdb) . "\n"; for foreach ($monipdb as $ip => $name) { echo "{$ip}: $name\n"; }
默认的 \larryli\monipdb\Monipdb
将会把数据文件一次性读入内存,
\larryli\monipdb\CachedMonipdb
在上述基础上使用内存缓存部分数据,以利于一次请求中多次重复查询;
\larryli\monipdb\DirectMonipdb
则不缓存内存数据,每个查询都会直接从数据文件中读取数据,
\larryli\monipdb\CachedDirectMonipdb
在上述基础上使用内存缓存重复查询的数据。
具体请参考 example 文件。
免费下载数据库
下载地址: https://www.ipip.net/free_download/
自定义
Ip 数据库主要业务逻辑均在 \larryli\monipdb\MonipdbTrait
中实现,可以直接在相关自定义类中直接使用。
比如在 Yii2 框架中使用组件包装。
1.0 版本
对于基本使用,可以使用:
composer require larryli/monipdb ~1.0
以获得更好的执行性能。