PHP判斷IP並轉跳到相應城市分站的方法

2022-10-06 10:48:13 字數 2079 閱讀 6393

<?php class qqwry

function getendip()

function getcountry()

} function getflagstr ($offset)

$offset=ord($buf[0]) + (ord($buf[1])*256) + (ord($buf[2])* 256*256);

} else

} if($offset<12)

return '';

@fseek($this->fp , $offset , seek_set ) ;

return $this->getstr();

} function getstr ( )

//echo "$str n";

return $str ;

} function qqwry ($dotip='')

if(preg_match("/^127/",$dotip))

elseif(preg_match("/^192/",$dotip))

$nret;

$ip=$>iptoint ( $dotip );

$this->fp= fopen(__qqwry__, "rb");

if ($this->fp == null)

@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]) + (owww.cppcns.comrd($buf[5])*256) + (ord($buf[6])*256*256) + (ord($buf[7])*256*256*256);

$recordcount= floor(($this->laststartip - $this->firststartip) / 7);

if ($recordcount <= 1)

$rangb= 0;

$range= $recordcount;

// match ...

while ($rangb < $range-1)

if ($ip>$this->startip)

$rangb= $recno;

else

$range= $recno;

} $this->getstartip ( $rangb ) ;

$this->getendip ( ) ;

if ( ( $this->startip <= $ip ) && ( $this->endip >= $ip ) )

else

fclose ( $this->fp );

$this->co程式設計客棧untry=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)

} ?>

例項演示如下:

$qqwry=new qqwry;

$qqwry->qqwry("60.31.95.255");

$country = $qqwry->country;

echo $qqwry->country.",".$qqwry->local;

本文標題: php判斷ip並轉跳到相應城市分站的方法

本文位址:

PHP判斷字符集並轉碼的函式

function safeencoding string,outencoding utf 8 encoding utf 8 for i 0 i 原理很簡單,因為gb2312 gbk是中文兩位元組,這兩個位元組是有取值範圍的,而utf 8中漢字是三位元組,同樣每個位元組也有取值範圍。而英文不 管在何種...

PHP判斷字符集並轉碼的函式

function safeencoding string,outencoding utf 8 encoding utf 8 for i 0 i 原理很簡單,因為gb2312 gbk是中文兩位元組,這兩個位元組是有取值範圍的,而utf 8中漢字是三位元組,同樣每個位元組也有取值範圍。而英文不 管在何種...

PHP自動判斷字符集並轉碼的詳解

php自動判斷字符集並轉碼的例項參考。原理 因為gb2312 gbk是中文兩位元組,這兩個位元組是有取值範圍的,而utf 8中漢字是三位元組,同樣每個位元組也有取值範圍。而英文不 管在何種編碼情況下,都是小於128,只占用乙個位元組 全形除外 如果是檔案形式的編碼檢查,還可以直接check utf ...