闲来无事封装了一个类,可作为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;
}
}