PHP ip地址和十进制互转封装类

来源:互联网 发布:windows xp 精简版 iso 编辑:程序博客网 时间:2024/06/05 14:41

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

0 0
原创粉丝点击