Skip to content

使用 PHP 数组式访问 ipip.net 数据库。

License

Notifications You must be signed in to change notification settings

larryli/Monipdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monipdb

使用 PHP 数组式访问 ipip.net 数据库。

Latest Stable Version Total Downloads Latest Unstable Version License Build Status

使用方法

需要 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

以获得更好的执行性能。