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

【转换原理】:假设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);
 }

时间: 2024-10-25 07:54:54

php实现IP地址转换为整型数字实例的相关文章

PHP中IP地址与整型数字互相转换详解_php技巧

IP转换成整型存储是数据库优化一大趋势,不少人目前存储IP时还在使用字符串类型存储,字符串索引比整型索引消耗资源很多,特别是表中数据量大的时候,以及求查询某一个ip段的数据,今天说的ip是指ip4,ip6不在本文范围内. 系统函数ip2long与long2ipPHP中有内置函数ip2long可以将ip地址转换整型. 复制代码 代码如下: $ip = '210.110.11.49'; echo ip2long($ip); 输出: 复制代码 代码如下: -764540111 输出的整型有负号是因为我

将IP地址转换为整型数字的PHP方法、Asp方法和MsSQL方法、MySQL方法

首先我们要先了解一下IP地址转换为整型(严格来说应该说是长整型)的原理~ [转换原理]:假设IP为:w.x.y.z,则IP地址转为整型数字的计算公式为:intIP = 256*256*256*w + 256*256*x + 256*y + z [PHP的互转]:PHP的转换方式比较简单,它内置了两个函数 int ip2long ( string $ip_address )和 string long2ip ( string $proper_address ) 可以直接调用使用~ [Asp的互转]:

转化ip地址为长整型数字的函数

将ip地址转换为长整型 <% Function CLngIP(ByVal asNewIP) Dim lnResults Dim lnIndex Dim lnIpAry lnIpAry = Split(asNewIP, ".", 4) For lnIndex = 0 To 3 If Not lnIndex = 3 Then lnIpAry(lnIndex) = lnIpAry(lnIndex) * (256 ^ (3 - lnIndex)) End If lnResults = l

将IP地址转换为长整型、将长整型转换为IP地址

ip地址|转换 将IP地址转换为长整型 Converts a string ip address ("192.168.0.1") to a Long number (3232235521). One of the reasons to do this would be to store IP addresses in databases. Numbers greatly reduce the size required to store this information. Inputs

PHP IP地址与整型互相转换详解

系统函数ip2long与long2ip PHP中有内置函数ip2long可以将ip地址转换整型.  代码如下 复制代码 $ip = '210.110.11.49'; echo ip2long($ip); 输出: -764540111 输出的整型有负号是因为我们得到的结果是有符号整型,有符号整型最大值2147483647,要把结果转换为无符号型可以这么写 3530427185 使用long2ip把整型转换回ip地址    代码如下 复制代码 $ip = '210.110.11.49'; $ip_i

JAVA中如何将整数表示的ip地址转换为字符串表示

/** * 将整数表示的ip地址转换为字符串表示. * * @param ip 32位整数表示的ip地址 * @return 点分式表示的ip地址 */ public static final String long2Ip(final long ip) { final long[] mask = { 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000 }; final StringBuilder ipAddress = new StringBuilder

JAVA中如何将字符串表示的ip地址转换为long表示

01./** 02. * 将字符串表示的ip地址转换为long表示. 03. * 04. * @param ip ip地址 05. * @return 以32位整数表示的ip地址 06. */ 07.public static final long ip2Long(final String ip) { 08. if (!RegexpUtils.isExactlyMatches("(\\d{1,3}\\.){3}\\d{1,3}", ip)) { 09. throw new Illega

php读取qqwry.dat ip地址定位文件的类实例代码

实例如下: <?php // +---------------------------------------------------------------------- // | // +---------------------------------------------------------------------- // | // +---------------------------------------------------------------------- cla

PHP curl伪造IP地址和header信息代码实例

  这篇文章主要介绍了PHP curl伪造IP地址和header信息代码实例,本文给出服务器端和客户端实现代码,提供伪造功能和服务器端检测代码,需要的朋友可以参考下 curl虽然功能强大,但是只能伪造$_SERVER["HTTP_X_FORWARDED_FOR"],对于大多数IP地址检测程序来说,$_SERVER["REMOTE_ADDR"]很难被伪造: 首先是client.php的代码 代码如下: $headers['CLIENT-IP'] = '202.103.