ip2long和long2ip

本文介绍如何使用PHP内置函数ip2long和long2ip进行IPv4地址的转换。通过示例展示了如何验证IP地址的有效性,并提供了处理整数溢出的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 )


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值