QQWryPHP的IP地址查询库

联合创作 · 2023-10-01 04:56

QQWry 是一个php扩展,实现语言为c。这个扩展的作用,就是根据ip来获取纯真数据库(QQWry.Dat)的地址信息。经过和discuz,CoolCode两个纯php版本的对比测试,这个c实现的扩展比纯php的实现效率高6到10倍。

目前只支持PHP5版本。

安装

  1. sudo pecl install qqwry-beta或者直接下载编译,phpize && ./configure && make && sudo make install
  2. 编辑php.ini,加入extension=qqwry.so
  3. 重启http server

使用很简单,首先就是实例化,传入纯真数据库的文件路径,然後调用q方法。该方法返回一个数组,第一个值为地址1,例如南宁市,第二个值为地址2,例如邕 宁区电信ADSL。看例子吧,一目了然。下面的iconv是把数据从GB2312转到UTF-8,如果你的站点是用GB2312,那么这一步是不需要的。

$qqwry=new qqwry('QQWry.Dat');

list($addr1,$addr2)=$qqwry->q('127.0.0.1');
$addr1=iconv('GB2312','UTF-8',$addr1);
$addr2=iconv('GB2312','UTF-8',$addr2);
echo $addr1,'|',$addr2,"\n";

$arr=$qqwry->q('222.216.47.4');
$arr[0]=iconv('GB2312','UTF-8',$arr[0]);
$arr[1]=iconv('GB2312','UTF-8',$arr[1]);
echo $arr[0],'|',$arr[1],"\n";

$arr=$qqwry->q('64.233.187.99');
$arr[0]=iconv('GB2312','UTF-8',$arr[0]);
$arr[1]=iconv('GB2312','UTF-8',$arr[1]);
echo $arr[0],'|',$arr[1],"\n";

输出:

本机地址|
广西南宁市|(青秀区)电信ADSL
美国|加利福尼亚州Google公司
浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报