php把IP地址转换成广播地址的例子
Broadcast Address(广播地址)是专门用于同时向网络中所有工作站进行发送的一个地址,在使用TCP/IP 协议的网络中,主机标识段host ID 为全1 的IP 地址为广播地址,广播的分组传送给host ID段所涉及的所有计算机.
网络广播地址计算方法:
1)IP地址与子网掩码进行"位与"运算,得到网络地址
2)子网掩码"取反"运算,然后与网络地址进行"位或"运算,得到广播地址
PHP实例代码如下:
<?php
//ip地址转换广播地址
private function ip2broadcast($ip, $mask) {
$ipSplit = explode('.', $ip);
$maskSplit = explode('.', $mask);
$broadcast = null;
for ($i = 0; $i < 4; $i++) {
$ipBin = sprintf("%b", $ipSplit[$i]);
while ((8 - strlen($ipBin)) > 0) $ipBin = "0" . $ipBin;
$maskBin = sprintf("%b", $maskSplit[$i]);
while ((8 - strlen($maskBin)) > 0) $maskBin = "0" . $maskBin;
$broadcastBin = null; //www.phprm.com
for ($j = 0; $j < 8; $j++) {
$broadcastBin.= (!intval(substr($maskBin, $j, 1))) | (intval(substr($ipBin, $j, 1)) & intval(substr($maskBin, $j, 1)));
}
if ($i > 0) $broadcast.= ".";
$broadcast.= bindec($broadcastBin);
}
return $broadcast;
}本文地址:http://www.phprm.com/develop/fs5953.html
转载随意,但请附上文章地址:-)