本文实例讲述了PHP判断IP并转跳到相应城市分站的方法。分享给大家供大家参考。具体实现方法如下:

<"$cn" ;  
    if(ord($c[0])== 0 )  
     break ;  
    $str.= $c ;  
   }  
   //echo "$str n";  
   return $str ;  
  }  
  function qqwry ($dotip='') {  
    if( !is_string($dotip) || $dotip==''){return;}  
    if(preg_match("/^127/",$dotip)){$this->Country="本地网络";return ;}  
    elseif(preg_match("/^192/",$dotip)) {$this->Country="局域网";return ;}  
   $nRet;  
   $ip=$this->IpToInt ( $dotip );  
   $this->fp= fopen(__QQWRY__, "rb");  
   if ($this->fp == NULL) {  
     $szLocal= "OpenFileError";  
    return 1;  
   }
   @fseek ( $this->fp , 0 , SEEK_SET );
   $buf=fread ( $this->fp , 8 );
   $this->FirstStartIp=ord($buf[0]) + (ord($buf[1])*256) + (ord($buf[2])*256*256) + (ord($buf[3])*256*256*256);
   $this->LastStartIp=ord($buf[4]) + (ord($buf[5])*256) + (ord($buf[6])*256*256) + (ord($buf[7])*256*256*256);
   $RecordCount= floor(($this->LastStartIp - $this->FirstStartIp) / 7);
   if ($RecordCount <= 1){  
    $this->Country="FileDataError";  
    fclose($this->fp) ;  
    return 2 ;  
   }  
   $RangB= 0;  
   $RangE= $RecordCount;  
   // Match ...  
   while ($RangB < $RangE-1)  
   {  
   $RecNo= floor(($RangB + $RangE) / 2);
   $this->getStartIp ( $RecNo ) ;  
    if ( $ip == $this->StartIp )  
    {  
     $RangB=$RecNo ;  
     break ;  
    }  
   if ($ip>$this->StartIp)  
    $RangB= $RecNo;  
   else 
    $RangE= $RecNo;  
   }  
   $this->getStartIp ( $RangB ) ;  
   $this->getEndIp ( ) ;  
   if ( ( $this->StartIp <= $ip ) && ( $this->EndIp >= $ip ) ){  
    $nRet=0 ;  
    $this->getCountry ( ) ;  
    //这样不太好..............所以..........  
    $this->Local=str_replace("area error", "",$this->Local);  
   }  
   else{  
    $nRet=3 ;  
    $this->Country='未知' ;  
    $this->Local='' ;  
   }  
   fclose ( $this->fp );  
$this->Country=preg_replace("/(CZ88.NET)|(纯真网络)/","局域网/未知",$this->Country);
$this->Local=preg_replace("/(CZ88.NET)|(纯真网络)/","局域网/未知",$this->Local);  
//////////////看看 $nRet在上面的值是什么0和3,于是将下面的行注释掉  
    return $nRet ;  
//return "$this->Country $this->Local";#如此直接返回位置和国家便可以了  
  }  
  function IpToInt($Ip) {  
   $array=explode('.',$Ip);  
   $Int=($array[0] * 256*256*256) + ($array[1]*256*256) + ($array[2]*256) + $array[3];
   return $Int;  
  }  
 }  
"htmlcode">
$QQWry=new QQWry;
$QQWry->QQWry("60.31.95.255");
$country = $QQWry->Country;
echo $QQWry->Country.",".$QQWry->Local;

希望本文所述对大家的php程序设计有所帮助。

华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?