gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章将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的互转】:自定义函数如下, '.-----------------------------------------------------------. '|  describtion: 将IP转换为int型数字                           | '|      Authors: abandonship(http://www.zzvips.com)            | '~-----------------------------------------------------------~ Function IP2Num(ByVal strIP)     Dim nIP     Dim nIndex     Dim arrIP     arrIP = Split(strIP, ".", 4)     For nIndex = 0 To 3         If Not nIndex = 3 Then             arrIP(nIndex) = arrIP(nIndex) * (256 ^ (3 - nIndex))         End If         nIP = nIP + arrIP(nIndex)     Next     IP2Num = nIP End Function '.-----------------------------------------------------------. '|  describtion: 将int型数字转换为IP                           | '|      Authors: abandonship(http://www.zzvips.com)            | '~-----------------------------------------------------------~ Function Num2IP(ByVal nIP)     Dim strIP     Dim nTemp     Dim nIndex     For nIndex = 3 To 0 Step -1      nTemp = Int(nIP / (256 ^ nIndex))      strIP = strIP & nTemp & "."      nIP = nIP - (nTemp * (256 ^ nIndex))     Next     strIP = Left(strIP, Len(strIP) - 1)     Num2IP = strIP End Function 。

【MsSQL的互转】:自定义函数如下, /***************************************************************  * 将IP转换为int型数字                         |  * Code CreateBy abandonship(http://www.zzvips.com)        |  **************************************************************/ CREATE FUNCTION [dbo].[ipToInt](    @strIp varchar(15)   )RETURNS bigint   AS   BEGIN    declare @nIp bigint    set @nIp = 0     select   @nIp = @nIp + LEFT( @strIp, charindex('.',@strIp+'.')-1)*Id   from(     select Id = cast(1*256*256*256 as bigint)     union all select 1*256*256     union all select 1*256     union all select 1  ) as T  return (@nIp) END  /***************************************************************  * 将int型数字转换为IP                         |  * Code CreateBy abandonship(http://www.zzvips.com)        |  **************************************************************/ CREATE FUNCTION [dbo].[intToIP](  @nIp bigint   )RETURNS varchar(15)   As   BEGIN    declare @strIp varchar(15)    set @strIp = ''    select   @strIp = @strIp +'.'+ cast(@nIp/ID as varchar), @nIp = @nIp%ID  from(     select ID = cast(1*256*256*256 as bigint)     union all select 1*256*256     union all select 1*256     union all select 1  ) as T    return(stuff(@strIp,1,1,''))   END  。

【MySQL的互转】:相对于MsSQL来说MySQL的转换方式比较简单,它和PHP一样也内置了两个函数 IP转为整型: select INET_ATON (IP地址) 和 整型转为IP: select INET_NTOA ( IP的整型数值 ) 可以直接调用使用~ 。

最后此篇关于将IP地址转换为整型数字的PHP方法、Asp方法和MsSQL方法、MySQL方法的文章就讲到这里了,如果你想了解更多关于将IP地址转换为整型数字的PHP方法、Asp方法和MsSQL方法、MySQL方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com