您的位置:首页 > 编程语言 > PHP开发

使用php根据起始ip地址和掩码 计算广播地址(网段结束地址)

2009-10-13 11:55 1146 查看
<?php
//计算广播地址
/**
* @param $ip   点分十进制、数字形式都支持
* @param $mask  点分十进制、位数形式都支持
* @param $returnNum 默认(false)返回的是点分十进制形式,true返回十进制数字形式
* @return unknown_type
*/
function getEndIP($ip = null, $mask = null,$returnNum = false){
if(is_null($ip) || is_null($mask)) return false;
if(substr_count($ip,'.')){
$ip = ip2long($ip);
}else{
if(!is_numeric($ip))return false;
}
if(substr_count($mask,'.')){
$mask = ip2long($mask);
}else{
$mask = 0xffffffff << (32 - $mask);
}
$nw = ($ip & $mask);
if($returnNum) return bindec(decbin($nw | (~$mask)));
return   long2ip($nw | (~$mask));
}
//实例
echo getEndIP('192.168.0.0','24')."/n";
echo getEndIP('192.168.0.0','24',true)."/n";
echo getEndIP('192.168.0.0','255.255.255.0')."/n";
echo getEndIP('192.168.0.0','255.255.255.0',true)."/n";


真的是好久没有发文章了,呵呵,昨天弄的这个,现在发出来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: