閒來無事封裝了一個類,可作爲ip地址的 轉換使用,再此也推薦兩個函數,有關ip地址的,ip2long:將IPv4的ip地址(以小數點分隔形式)轉換爲int、long2ip:將int型表示的ip地址表示成字符串 aaa.bbb.ccc.ddd 的形式
下面上代碼:
<span style="white-space:pre"> </span>/*
ip地址的十進制長整型轉換
*/
class IpConvert{
//ip轉長整型
public ipToInt($sIP){
$aIP = explode('.',$sIP);
$iIP = ($aIP[0] << 24) | ($aIP[1] << 16) | ($aIP[2] << 8) | $aIP[3]
if($iIP < 0) $iIP += 4294967296;
return $iIP;
}
//長整型轉ip
function intToIP($iIP){
$xor = array(0x000000ff,0x0000ff00,0x00ff0000,0xff000000);
for($i=0; $i<4; $i++){
${s.$i} = ($iIP & $xor[$i]) >> $i*8;
if (${s.$i} < 0) ${s.$i} += 256;
}
return $s3.'.'.$s2.'.'.$s1.'.'.$s0;
}
}