php中处理ip地址字符串
时间:2008-03-11 来源:reqfaith
//根据ip地址和掩码位数获取网络地址
//192.168.10.2/24 --->> 192.168.10.0
function get_network($ip,$nMask)
{
$ip_bin = str_pad( decbin(ip2long($ip)), 32, "0", STR_PAD_LEFT);
return long2ip( bindec( $ip_bin & decbin(pow(2,32)-pow(2,32-$nMask)) ) );
}
//根据掩码位数获取子网掩码
//24 --->> 255.255.255.0
function get_netmask($nMask)
{
return long2ip( pow(2,32) - pow(2,32-$nMask) );
}
//根据ip地址掩码位数获取广播地址
//192.168.10.2/24 --->> 192.168.10.255
function get_broadcastip($ip, $nMask)
{
$ip_bin = str_pad( decbin(ip2long($ip)), 32, "0", STR_PAD_LEFT);
return long2ip(
bindec( $ip_bin |
str_pad( decbin(pow(2,32-$nMask)-1), 32, "0", STR_PAD_LEFT ) )
);
}
//192.168.10.2/24 --->> 192.168.10.0
function get_network($ip,$nMask)
{
$ip_bin = str_pad( decbin(ip2long($ip)), 32, "0", STR_PAD_LEFT);
return long2ip( bindec( $ip_bin & decbin(pow(2,32)-pow(2,32-$nMask)) ) );
}
//根据掩码位数获取子网掩码
//24 --->> 255.255.255.0
function get_netmask($nMask)
{
return long2ip( pow(2,32) - pow(2,32-$nMask) );
}
//根据ip地址掩码位数获取广播地址
//192.168.10.2/24 --->> 192.168.10.255
function get_broadcastip($ip, $nMask)
{
$ip_bin = str_pad( decbin(ip2long($ip)), 32, "0", STR_PAD_LEFT);
return long2ip(
bindec( $ip_bin |
str_pad( decbin(pow(2,32-$nMask)-1), 32, "0", STR_PAD_LEFT ) )
);
}
相关阅读 更多 +
排行榜 更多 +