ip2long需要bigint来存储,而且在32位和64位系统中存储方式还有区别; 而保存成字符串,只需要char20即可。 那么,ip2long好处在哪?
php
$ip='47.93.97.127';
$long=sprintf("%u",ip2long($ip));//string(9) "794648959" 9位
var_dump($long );
echo "
";
$ip='247.193.197.127';
$long=ip2long($ip);//int(-138295937)
var_dump($long);
echo "
";
$ip='247.193.197.127';
$long2=sprintf("%u",ip2long($ip));
var_dump($long2); //string(10
本文实例讲述了go语言版的ip2long函数。分享给大家供大家参考。具体分析如下: 这里介绍的go语言版的ip2long 函数不会对 IP 的合法性进行校验。 // 注意: 该函数不会对 IP 的合法性进行校验 func Ip2Long(ip string) (ips string) { var ip_pieces = strings.Split(ip
($start) && $long_ip <= ip2long($end)) return (TRUE); } } return (FALSE); } 使用位操作符>>进行判断 function ip_is_internal($ip) { $ip = ip2long($ip); if (! $ip) { return false; } $net_local = ip2long('127.255.255.255') >> 24; //127.x.x.x $net_a = ip2long('10.255.255.255') >> 24; //A类网预留ip的网络地址 $net_b = ip2long ('172.31.255.255') >> 20; //B类网预留ip的网络地址 $net_c = ip2long('192.168.255.255') >> 16; //C类网预留ip
127.0.0.255 = 2130706687 判断: 127.0.1.253 = 2130706941 是否在此范围内,直接比较整数大小即可 将ip地址转换成整数 public static long IP2Long Math.Pow(256, (3 - i))); } } return (long)num; } 判断给定ip地址是否在指定范围内 long start = IP2Long ("127.0.0.1"); long end = IP2Long("127.0.0.255"); long ipAddress = IP2Long("127.0.1.253"); bool inRange
return false; } $hostname=$url_parse['host']; $ip=gethostbyname($hostname); $int_ip=ip2long ($ip); return ip2long('127.0.0.0')>>24 == $int_ip>>24 || ip2long('10.0.0.0')>>24 == $int_ip>>24 || ip2long('172.16.0.0')>>20 == $int_ip>>20 || ip2long('192.168.0.0')>>16 == $int_ip>>16; } function ($ip); return ip2long('127.0.0.0')>>24 == $int_ip>>24 || ip2long('10.0.0.0')>>24 == $int_ip >>24 || ip2long('172.16.0.0')>>20 == $int_ip>>20 || ip2long ('192.168.0.0')>>16 == $int_ip>>16;
L", inet_aton(ip_addr))[0] def is_inner_ipaddress(ip): ip = ip2long(ip) return ip2long('127.0.0.0 ') >> 24 == ip >> 24 or \ ip2long('10.0.0.0') >> 24 == ip >> 24 or \ ip2long( L", inet_aton(ip_addr))[0] def is_inner_ipaddress(ip): ip = ip2long(ip) return ip2long ip2long('172.16.0.0') >> 20 == ip >> 20 or \ ip2long('192.168.0.0') >> 16 == ip >> 16 ip2long('172.16.0.0') >> 20 == ip >> 20 or \ ip2long('192.168.0.0') >> 16 == ip >> 16
/usr/bin/python import socket, struct def ip2long(ip): return struct.unpack("! L', longip)) if __name__ == '__main__': print('local ip address to long is %s'%ip2long('127.0.0.1
*/ public static function judge($ip, $networkRange) { $ip = (double) (sprintf("%u", ip2long ($ip))); $s = explode('/', $networkRange); $network_start = (double) (sprintf("%u", ip2long network_end) { return true; } return false; } 3)把网段数据处理后 保存到redis中 使用网段掩码,ip2long 4)快速比较 指定IP使用ip2long函数得到ip转为整数的值,判断值是否在任一一个区间中。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
ip2long($ip)) { $ip = ''; } return $ip; } 修改为: function getIp() { $ip = isset($_SERVER['REMOTE_ADDR ip2long($ip)) { $ip = ''; } return $ip; } 修改完保存生效,然后留言试试是否成功!
IP转换成long * * @param ipStr 字符串IP * @return IP对应的long值 */ public static long ip2Long return ip.toString(); } public static void main(String[] args) { System.out.println(ip2Long ("192.168.0.1")); System.out.println(long2Ip(3232235521L)); System.out.println(ip2Long
IP转换成long * * @param ipStr 字符串IP * @return IP对应的long值 */ public static long ip2Long return ip.toString(); } public static void main(String[] args) { System.out.println(ip2Long ("192.168.0.1")); System.out.println(long2Ip(3232235521L)); System.out.println(ip2Long
IP转换成long * * @param ipStr 字符串IP * @return IP对应的long值 */ public static long ip2Long return ip.toString(); } public static void main(String[] args) { System.out.println(ip2Long ("192.168.0.1")); System.out.println(long2Ip(3232235521L)); System.out.println(ip2Long
IP转换成long * * @param ipStr 字符串IP * @return IP对应的long值 */ public static long ip2Long return ip.toString(); } public static void main(String[] args) { System.out.println(ip2Long ("192.168.0.1")); System.out.println(long2Ip(3232235521L)); System.out.println(ip2Long
IP转换成long * * @param ipStr 字符串IP * @return IP对应的long值 */ public static long ip2Long return ip.toString(); } public static void main(String[] args) { System.out.println(ip2Long ("192.168.0.1")); System.out.println(long2Ip(3232235521L)); System.out.println(ip2Long
IP转换成long * * @param ipStr 字符串IP * @return IP对应的long值 */ public static long ip2Long return ip.toString(); } public static void main(String[] args) { System.out.println(ip2Long ("192.168.0.1")); System.out.println(long2Ip(3232235521L)); System.out.println(ip2Long
IP转换成long * * @param ipStr 字符串IP * @return IP对应的long值 */ public static long ip2Long return ip.toString(); } public static void main(String[] args) { System.out.println(ip2Long ("192.168.0.1")); System.out.println(long2Ip(3232235521L)); System.out.println(ip2Long
IP转换成long * * @param ipStr 字符串IP * @return IP对应的long值 */ public static long ip2Long return ip.toString(); } public static void main(String[] args) { System.out.println(ip2Long ("192.168.0.1")); System.out.println(long2Ip(3232235521L)); System.out.println(ip2Long
IP转换成long * * @param ipStr 字符串IP * @return IP对应的long值 */ public static long ip2Long return ip.toString(); } public static void main(String[] args) { System.out.println(ip2Long ("192.168.0.1")); System.out.println(long2Ip(3232235521L)); System.out.println(ip2Long
IP转换成long * * @param ipStr 字符串IP * @return IP对应的long值 */ public static long ip2Long return ip.toString(); } public static void main(String[] args) { System.out.println(ip2Long ("192.168.0.1")); System.out.println(long2Ip(3232235521L)); System.out.println(ip2Long