ip2long和long2ip

2024-02-17 22:08
文章标签 ip2long long2ip

本文主要是介绍ip2long和long2ip,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ip2long:将IPv4的ip地址(以小数点分隔形式)转换为int

Description

int ip2long ( string ip_address )

 

如果ip地址非法,返回FALSE(PHP 5.0.0以后)

 

注意,由于返回值是int,所以会造成数据溢出,比如有些ip地址转换后变成负数,因此需要转换成unsigned int类型

 

unsigned int _ip2long( string ip_address )

 

function _ip2long( $ip_address )
{
    return sprintf("%u",ip2long($ip_address));
}

 

如果要确认一个ip地址是否合法(IP validation ),最好的使用方式是结合long2ip()函数一起使用

 

例如:

 

<?php
    // make sure IPs are valid. also converts a non-complete IP into
    // a proper dotted quad as explained below.
    $ip = long2ip ( ip2long ( "127.0.0.1" )); // "127.0.0.1"
    $ip = long2ip ( ip2long ( "10.0.0" ));    // "10.0.0.0"
    $ip = long2ip ( ip2long ( "10.0.256" ));  // "10.0.1.0"

 

#end of script

 

*******************************************************************************************

 

long2ip:将int型表示的ip地址表示成字符串 aaa.bbb.ccc.ddd 的形式

Description

string long2ip ( int proper_address )


这篇关于ip2long和long2ip的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/719122

相关文章

php ip2long 出现负数原因及解决方法

php提供了ip2long与long2ip方法对ip地址处理。 1.ip2long — 将一个IPV4的字符串互联网协议转换成数字格式 int ip2long ( string $ip_address )1 参数: ip_address 一个标准格式的地址。 返回值: 返回IP地址转换后的数字 或 FALSE 如果 ip_address 是无效的。  2.long2ip — 将数

php ip2long mysql_php的IP转换成整型函数ip2long()易出现负数

php中将IP转换成整型的函数ip2long()容易出现问题,在IP比较大的情况下,会变成负数。 如下 $ip = "192.168.1.2"; $ip_n = ip2long($ip); echo $ip_n;      //得到 -1062731518 ?> 由于IP转换成的整型值太大超出了整型的范围,所以变成负数。需写成$ip_n = bindec(decbin(ip2long($ip))