欧美三区四区_av先锋影音资源站_亚洲第一论坛sis_影音先锋2020色资源网_亚洲精品社区_在线免费观看av网站_国产一区二区伦理_亚洲欧美视频一区二区_99视频精品全部免费在线_精精国产xxxx视频在线

php查詢ip所在地的方法_PHP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:phpmyadmin安裝教程 phpmyadmin安裝配置
phpmyadmin怎么安裝?有些朋友可能還不清楚phpmyadmin如何安裝的,下面綠茶小編為大家詳細介紹下phpmyadmin安裝配置教程,有需要的朋友趕緊參考下吧! phpmyadmin就是一種mysql的管理工具,安裝該工具后,即可以通過web形式直接管理mysql數據,而不需要通過執行系統命令

 具體實現方法如下:

 

代碼如下: <?php
/**
*@ date         2010.12.21
注:文件頭 [第一條索引的偏移量 (4byte)] + [最后一條索引的偏移地址 (4byte)]     8字節
記錄區 [結束ip (4byte)] + [地區1] + [地區2]                                4字節+不定長
索引區 [開始ip (4byte)] + [指向記錄區的偏移地址 (3byte)]                   7字節
*/
class iplocation{
var $fp;
var $firstip;  //第一條ip索引的偏移地址
var $lastip;   //最后一條ip索引的偏移地址
var $totalip;  //總ip數
/*
|----------------------------------------------------------------------------
| 構造函數,初始化一些變量
|----------------------------------------------------------------------------
|
*/
function iplocation($datfile = "qqwry.dat"){
$this->fp=fopen($datfile,'rb')or die("qqwry.dat不存在,請去網上 <a >下載純真ip數據 庫</a>, 'qqwry.dat' 放到當前目錄下");   //二制方式打開
$this->firstip = $this->get4b(); //第一條ip索引的絕對偏移地址
$this->lastip = $this->get4b();  //最后一條ip索引的絕對偏移地址
$this->totalip =($this->lastip - $this->firstip)/7 ; //ip總數 索引區是定長的7個字節,在此要除以7,
register_shutdown_function(array($this,"closefp"));  //為了兼容php5以下版本,本類沒有用析構函數,自動關閉ip庫.
}
/*
|----------------------------------------------------------------------------
| 關閉ip庫
|----------------------------------------------------------------------------
|
*/
function closefp(){
fclose($this->fp);
}
/*
|----------------------------------------------------------------------------
| 讀取4個字節并將解壓成long的長模式
|----------------------------------------------------------------------------
|
*/
function get4b(){
$str=unpack("v",fread($this->fp,4));
return $str[1];
}
/*
|----------------------------------------------------------------------------
| 讀取重定向了的偏移地址
|----------------------------------------------------------------------------
|
*/
function getoffset(){
$str=unpack("v",fread($this->fp,3).chr(0));
return $str[1];
}
/*
|----------------------------------------------------------------------------
| 讀取ip的詳細地址信息
|----------------------------------------------------------------------------
|
*/
function getstr(){
$split=fread($this->fp,1);
while (ord($split)!=0) {
$str .=$split;
$split=fread($this->fp,1);
}
return $str;
}
/*
|----------------------------------------------------------------------------
| 將ip通過ip2long轉成ipv4的互聯網地址,再將他壓縮成big-endian字節序 ,用來和索引區內的ip地址做比較
|----------------------------------------------------------------------------
|
*/
function iptoint($ip){
return pack("n",intval(ip2long($ip)));
}
/*
|----------------------------------------------------------------------------
| 獲取地址信息
|----------------------------------------------------------------------------
|
*/
function readaddress(){
$now_offset=ftell($this->fp); //得到當前的指針位址
$flag=$this->getflag();
switch (ord($flag)){
case 0:
$address="";
break;
case 1:
case 2:
fseek($this->fp,$this->getoffset());
$address=$this->getstr();
break;
default:
fseek($this->fp,$now_offset);
$address=$this->getstr();
break;
}
return $address;
}
/*
|----------------------------------------------------------------------------
| 獲取標志1或2   用來確定地址是否重定向了
|----------------------------------------------------------------------------
|
*/
function getflag(){
return fread($this->fp,1);
}
/*
|----------------------------------------------------------------------------
| 用二分查找法在索引區內搜索ip
|----------------------------------------------------------------------------
|
*/
function searchip($ip){
$ip=gethostbyname($ip);     //將域名轉成ip
$ip_offset["ip"]=$ip;
$ip=$this->iptoint($ip);    //將ip轉換成長整型
$firstip=0;                 //搜索的上邊界
$lastip=$this->totalip;     //搜索的下邊界
$ipoffset=$this->lastip;    //初始化為最后一條ip地址的偏移地址
while ($firstip <= $lastip){
$i=floor(($firstip + $lastip) / 2);          //計算近似中間記錄 floor函數記算給定浮點數小的最大整數,說白了就是四舍五也舍
fseek($this->fp,$this->firstip + $i * 7);    //定位指針到中間記錄
$startip=strrev(fread($this->fp,4));         //讀取當前索引區內的開始ip地址,并將其little-endian的字節序轉換成big-endian的字節序
if ($ip < $startip) {
$lastip=$i - 1;
}
else {
fseek($this->fp,$this->getoffset());
$endip=strrev(fread($this->fp,4));
if ($ip > $endip){
$firstip=$i + 1;
}
else {
$ip_offset["offset"]=$this->firstip + $i * 7;
break;
}
}
}
return $ip_offset;
}
/*
|----------------------------------------------------------------------------
| 獲取ip地址詳細信息
|----------------------------------------------------------------------------
|
*/
function getaddress($ip){
$ip_offset=$this->searchip($ip);  //獲取ip 在索引區內的絕對編移地址
$ipoffset=$ip_offset["offset"];
$address["ip"]=$ip_offset["ip"];
fseek($this->fp,$ipoffset);      //定位到索引區
$address["startip"]=long2ip($this->get4b()); //索引區內的開始ip 地址
$address_offset=$this->getoffset();            //獲取索引區內ip在ip記錄區內的偏移地址
fseek($this->fp,$address_offset);            //定位到記錄區內
$address["endip"]=long2ip($this->get4b());   //記錄區內的結束ip 地址
$flag=$this->getflag();                      //讀取標志字節
switch (ord($flag)) {
case 1:  //地區1地區2都重定向
$address_offset=$this->getoffset();   //讀取重定向地址
fseek($this->fp,$address_offset);     //定位指針到重定向的地址
$flag=$this->getflag();               //讀取標志字節
switch (ord($flag)) {
case 2:  //地區1又一次重定向,
fseek($this->fp,$this->getoffset());
$address["area1"]=$this->getstr();
fseek($this->fp,$address_offset+4);      //跳4個字節
$address["area2"]=$this->readaddress();  //地區2有可能重定向,有可能沒有
break;
default: //地區1,地區2都沒有重定向
fseek($this->fp,$address_offset);        //定位指針到重定向的地址
$address["area1"]=$this->getstr();
$address["area2"]=$this->readaddress();
break;
}
break;
case 2: //地區1重定向 地區2沒有重定向
$address1_offset=$this->getoffset();   //讀取重定向地址
fseek($this->fp,$address1_offset);  
$address["area1"]=$this->getstr();
fseek($this->fp,$address_offset+8);
$address["area2"]=$this->readaddress();
break;
default: //地區1地區2都沒有重定向
fseek($this->fp,$address_offset+4);
$address["area1"]=$this->getstr();
$address["area2"]=$this->readaddress();
break;
}
//*過濾一些無用數據
if (strpos($address["area1"],"cz88.net")!=false){
$address["area1"]="未知";
}
if (strpos($address["area2"],"cz88.net")!=false){
$address["area2"]=" ";
}
return $address;
}
}
 
/*用法如下:*/
$ip=new iplocation("qqwry.dat");
$address=$ip->getaddress("61.129.51.27");
//$address=$ip->getaddress(www.jb51.net);
echo '< print_r($address);
?>

分享:PHP程序員必須遵循的PHP編程準則
怎樣才能成為一個優秀的PHP開發者?這肯定是每一位PHP新手都在提出的問題。其實要成為一名PHP編程高手并不容易,真正的PHP高手還需要考慮更多的其它問題。那么如何才能更快的成為一名優秀的PHP開發者呢?跟隨綠茶小編一起來看看吧! 以下三條準則是一名成熟的PHP程序員在

來源:模板無憂//所屬分類:PHP教程/更新時間:2014-12-06
相關PHP教程
精品久久久久久亚洲| 欧美蜜桃一区二区三区| 欧洲成人性视频| 一区二区在线播放视频| 7777久久亚洲中文字幕| 亚洲第一精品影视| 日韩欧美在线免费| 国产裸体写真av一区二区| 亚洲妇熟xx妇色黄蜜桃| 成人爽a毛片一区二区| 天堂成人国产精品一区| 91精品国产综合久久久久久漫画| 国产69精品久久久久9999apgf | 人体精品一二三区| 日韩爱爱小视频| 欧洲美女亚洲激情| 人人妻人人澡人人爽人人欧美一区| 日日夜夜一区二区| 日韩小视频在线观看专区| 九色91视频| 国产稀缺精品盗摄盗拍| 亚洲警察之高压线| 亚洲日穴在线视频| 国产成人精品电影久久久| 亚洲av无码久久精品色欲| 日日av拍夜夜添久久免费| 欧美激情综合| 自拍av一区二区三区| 国内揄拍国内精品少妇国语| 国产精品无码乱伦| 国产精品suv一区| 欧美天堂亚洲电影院在线观看| 国产乱淫片视频| 99国内精品久久久久| 99精品偷自拍| 久久电影一区二区| 免费观看成人网| 高潮毛片7777777毛片| 久久se这里有精品| 日韩精品在线视频观看| 日韩亚洲欧美一区二区| 在线观看免费中文字幕| 亚洲在线成人| 精品成人在线观看| avove在线观看| 中国黄色一级视频| 久久久久久网| 日韩精品中文字幕久久臀| 亚洲五码在线观看视频| 亚洲一区二区天堂| 日韩不卡免费视频| 亚洲一级免费视频| 国产成人久久婷婷精品流白浆| 国内精品久久久久久久久久| 另类小说一区二区三区| 一区二区三欧美| 青青在线视频免费| 中文字幕一区二区人妻电影| 黄色日韩在线| 日韩欧美在线网址 | av一区和二区| 91久久精品美女| 日韩免费一级视频| 日本激情视频网站| 99精品视频一区二区三区| 欧美精品福利在线| 少妇熟女视频一区二区三区 | 国模精品视频一区二区| 亚洲欧美激情一区二区三区| 国产一区二区高清在线| 亚洲人成网站色在线观看| 91久久国产精品91久久性色| 成熟的女同志hd| 欧美日韩hd| 精品成人免费观看| 男女视频网站在线观看| 日韩电影免费观| 国产欧美一区视频| 日韩中文字幕免费看| 亚洲一级免费观看| 91麻豆精品| 一区二区三区四区高清精品免费观看 | 91精产国品一二三产区别沈先生| 91丨精品丨国产| 一区二区三区国产精品| 国产精品区一区二区三在线播放| 青娱乐国产在线| av不卡在线| 中文字幕亚洲专区| 三上悠亚 电影| 日韩成人动漫在线观看| 在线观看91视频| 麻豆md0077饥渴少妇| 亚洲不卡免费视频| 久久久国产精品不卡| 国产日韩av高清| 久热这里只有精品在线| 久久精品观看| 插插插亚洲综合网| 国产精品无码一区二区三区免费| 经典一区二区| 欧美一区二区在线免费播放| 欧美一级视频免费看| 欧美成人精品三级网站| 一区二区三区在线观看视频| 久久精品国产精品国产精品污| 最新中文字幕第一页| 国产成人精品免费看| 青青草国产精品一区二区| 久久久久久久久久97| 亚洲国产精品一区制服丝袜| 原创国产精品91| 日本女人性视频| 成人激情诱惑| 亚洲精品电影久久久| 欧美日韩中文不卡| 免费看成人吃奶视频在线| 5566中文字幕一区二区电影| 久久成人免费观看| 麻豆精品一区| 欧美色手机在线观看| 欧美日韩不卡在线视频| 日韩三级成人| 日本福利一区二区| 国产精品久久国产| 中文字幕成人| 欧洲一区二区av| 男人插女人视频在线观看| 日韩五码电影| 91传媒视频在线播放| 国产av人人夜夜澡人人爽麻豆| 欧美午夜三级| 在线观看成人免费视频| 欧美a v在线播放| 成人免费在线电影网| 在线不卡中文字幕| 国产福利一区视频| 亚洲品质自拍| 亚洲第一中文字幕在线观看| 波多野结衣在线免费观看| 日韩一区二区中文| 欧美这里有精品| av在线播放亚洲| 999福利视频| www.中文字幕av| 欧美超碰在线| 亚洲天堂影视av| 亚洲第一黄色网址| 99国产精品久久久久久久成人热| 久久综合久久88| 美女av免费看| 美女视频第一区二区三区免费观看网站 | 不卡欧美aaaaa| 99热在线国产| 精品国产999久久久免费| 亚洲色图清纯唯美| 黄色录像特级片| 秋霞一区二区| 精品精品国产高清一毛片一天堂| 性色av浪潮av| 国产综合精品| 国内精品久久久久久久| 久久久久久久9999| 成人h动漫精品| 精选一区二区三区四区五区| 天天射,天天干| 亚洲高清中文字幕| 欧美精品v日韩精品v国产精品| 人妻一区二区三区| 欧美丝袜第一区| 日韩精品一区二区三区不卡 | 精品成在人线av无码免费看| aaa国产精品| 日韩经典中文字幕| 欧美激情aaa| 久久精品久久综合| 92国产精品久久久久首页| 国产美女自慰在线观看| 亚洲夂夂婷婷色拍ww47| 青青青免费在线| 欧美精品一区二区久久| 波霸ol色综合久久| 久久久久久久福利| 久久夜色精品国产噜噜av| 色阁综合av| 免费精品一区二区三区在线观看| 美日韩一区二区三区| 亚洲欧洲国产日本综合| 国产精品12p| 狼人精品一区二区三区在线 | 久久久国产精彩视频美女艺术照福利| 久久中文免费视频| 9i在线看片成人免费| 四虎一区二区| av日韩精品| 亚洲欧美国产精品久久久久久久 | 欧美深夜福利| 国产ts人妖一区二区三区 | 国产一区二区三区久久悠悠色av| 99久久综合狠狠综合久久止| 韩国成人动漫| 日韩精品一区国产麻豆| 亚洲av无码一区二区二三区| 狠狠狠色丁香婷婷综合激情| av一区二区三区免费| 91精品国产经典在线观看| 精品久久久久久久久久久久久久久久久| 男人天堂av电影| 成人激情小说网站| 亚洲制服中文| 狠狠综合久久av一区二区蜜桃| 久久高清视频免费| 久久青青草原亚洲av无码麻豆 | 欧美亚洲日本国产| jjzz黄色片| 中文字幕一区二区三区乱码图片 | 久久久久北条麻妃免费看| 日韩成年人视频| 国产精品久久久久久久久久久免费看| 国产精品久久中文字幕| 真实国产乱子伦精品一区二区三区| 久久久久久国产精品| 亚洲综合五月天婷婷丁香| 狠狠爱在线视频一区| 动漫美女无遮挡免费| 久久精品久久综合| 欧美日本国产精品| 高清日韩中文字幕| 日韩有码视频在线| 欧美一级淫片免费视频黄| 婷婷综合久久一区二区三区| 日韩视频在线观看一区二区三区| 日韩福利电影在线| 久久99久久精品国产| 激情小说一区| 九九精品视频在线观看| 91丨porny丨在线中文 | 精品美女在线播放| 999精品在线视频| 国产精品高潮呻吟| 我要看一级黄色大片| 蜜桃av一区| 欧美午夜精品理论片a级大开眼界| 粉嫩久久久久久久极品| 欧美富婆性猛交| 国产aⅴ一区二区三区| 7777精品久久久大香线蕉| 国产成人免费观看网站| 亚洲国产激情av| 亚洲精品高清无码视频| 奇米四色…亚洲| 色婷婷精品国产一区二区三区| 国产真实有声精品录音| 国产精品成人播放| 中文另类视频| 色妞欧美日韩在线| 亚洲图片在线播放| 在线成人av影院| 欧美激情精品久久| 婷婷综合久久一区二区三区| 亚洲av成人片色在线观看高潮| www.色精品| av网站在线观看不卡| 日韩主播视频在线| 亚洲国内在线| 一区二区三区四区电影| 97超级碰碰| 国产精品视屏| 日本精品视频在线播放| 日韩福利影视| 欧美激情国产日韩精品一区18| 免费av网站在线播放| 亚洲欧洲一区二区三区久久| 在线视频你懂得| 日韩一区二区在线播放| 久久精品免费在线| 亚洲国产成人私人影院tom| 国产又大又黄又粗又爽| 国产一区二区三区在线观看精品| 国产免费内射又粗又爽密桃视频| 亚洲国产片色| 日本在线观看一区| 亚洲女同另类| 国产综合动作在线观看| 欧美日韩激情| 97久久天天综合色天天综合色hd| 日本成人a网站| 国产精品视频网站| 超碰在线成人| 国产精品久久视频| 成人黄色av网址| 国产精品久久久久久久9999| 精品视频在线播放一区二区三区 | 91亚洲va在线va天堂va国| 果冻天美麻豆一区二区国产| 国产精品久久一区| 久久大胆人体视频| 成人精品在线观看| 日韩美女国产精品| 亚洲综合小说区| 免费视频国产一区| 97影院在线午夜| 精品久久不卡| 国产乱子伦精品| 91综合网人人| 麻豆91av| 国产精品va| 日韩精品欧美在线| 亚洲美女黄网| 992tv成人免费观看| 麻豆九一精品爱看视频在线观看免费| 中文字幕在线观看一区二区三区| 精品香蕉视频| 高清国产在线一区| 欧美va久久久噜噜噜久久| 麻豆精品传媒视频| 伊人激情综合| 中文字幕中文字幕在线中一区高清 | 懂色av成人一区二区三区| 中文字幕一区电影| 五月婷婷六月丁香综合| 欧美猛男性生活免费| 日韩专区视频| 国产精品av免费在线观看| 风间由美中文字幕在线看视频国产欧美 | 国产黄色免费视频| 欧美自拍偷拍午夜视频| 福利一区二区三区四区| 日韩一区二区三区电影在线观看| 成年人av网站| 亚洲精品一区久久久久久| 黄色片网站免费在线观看| 不卡av日日日| 国产精品美女久久久久人| 国产精品大片wwwwww| 亚洲人成网77777色在线播放 | 劲爆欧美第一页| 884aa四虎影成人精品一区| 中文字幕一区二区三区四区视频 | 狠狠爱在线视频一区| 国产福利久久久| 精品日韩在线一区| 超碰在线观看99| 欧美激情精品久久久久久免费印度| 4438五月综合| 91丨九色丨国产在线| 中文字幕免费一区二区三区| 亚洲一卡二卡| 国产一区二区影院| 在线成人免费av| 亚洲一区av在线| 久视频在线观看| 亚洲国模精品一区| 五月婷婷伊人网| 国产ts一区二区| 天天综合网91| 大桥未久一区二区| 成人黄色网址在线观看| 中国xxxx性xxxx产国| 日韩欧美亚洲综合| 无码人妻黑人中文字幕| 中文字幕亚洲综合| 精品国产一区二区三区性色av | 亚洲一级二级片| 在线播放日韩导航| 精品国产av一区二区| 久久久久成人网| 中文有码一区| 日日夜夜精品网站| 久久99国产精品尤物| 91视频福利网| 精品国产精品自拍| 久久久999久久久| 久久深夜福利免费观看| av一级亚洲| 日韩精品大片| 国产精品一品二品| 在线免费播放av| 欧美久久久一区| 亚洲国产精品二区| 国产成人精品av| 欧美人成在线| 日本三级免费观看| 亚洲特黄一级片| www.国产高清| 最近2019中文字幕第三页视频| 亚洲一区二区三区日本久久九| 精品国产福利| 精品中文字幕一区二区| 亚洲精品久久一区二区三区777| 日韩欧美精品在线观看| 国产精品玖玖玖| 97在线视频观看| 99久久久久国产精品| 九九爱精品视频| 国产精品电影一区二区三区| 国产香蕉在线视频| 日韩在线观看免费高清完整版| 国内精品国产成人国产三级粉色| 日韩影视精品|