欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php实现IP地址转换为整型数字实例

程序员文章站 2022-06-03 18:04:07
...

IP地址转换在整型数据然后保存到数据库中,这是一种常用的做法,我们转换IP地算法是intIP = 256*256*256*w + 256*256*x +

256*y + z即可,下面来给各位同学介绍具体实例。

【转换原理】:假设IP为:w.x.y.z,则IP地址转为整型数字的计算公式为:intIP = 256*256*256*w + 256*256*x + 256*y + z

【PHP的互转】:PHP的转换方式比较简单,它内置了两个函数

int ip2long ( string $ip_address ) //ip转换成整型数值
string long2ip ( string $proper_address ) // 整型数值转换成ip【MySQL的互转】:相对于MsSQL来说MySQL的转换方式比较简单,它和PHP一样也内置了两个函数

IP 转为整型:

select INET_ATON (IP地址)整型数值转换成IP

select INET_NTOA ( IP的整型数值 )


一个实例

1.手工自己的实现方法

function ip2number($ip)
      {
          $t = explode('.', $ip);
          $x = 0;
          for ($i = 0; $i < 4; $i++)
          {
              $x = $x * 256 + $t[$i];
          }
          return $x;
      }
function number2ip($num)
      {
          $t = $num;
          $a = array();
          for ($i = 0; $i < 4; $i++)
          {
              $x = $t % 256;
              if($x < 0) $x += 256;
              array_unshift($a, $x);
              $t = intval($t / 256);
          }
          return implode('.', $a);
 }
相关标签: explode select