PHP的IP地址查詢庫 QQWry

openkk 12年前發布 | 29K 次閱讀 PHP PHP開發

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公司

項目主頁:http://www.baiduhome.net/lib/view/home/1334717267889

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!