> php教程 > php手册 > php把IP地址转换成广播地址的例子

php把IP地址转换成广播地址的例子

WBOY
풀어 주다: 2016-05-25 16:48:06
원래의
914명이 탐색했습니다.

Broadcast Address(广播地址)是专门用于同时向网络中所有工作站进行发送的一个地址。在使用TCP/IP 协议的网络中,主机标识段host ID 为全1 的IP 地址为广播地址,广播的分组传送给host ID段所涉及的所有计算机

网络广播地址计算方法:

(1)IP地址与子网掩码进行"位与"运算,得到网络地址

(2)子网掩码"取反"运算,然后与网络地址进行"位或"运算,得到广播地址

<?php
//ip地址转换广播地址
private function ip2broadcast($ip, $mask) {
    $ipSplit = explode(&#39;.&#39;, $ip);
    $maskSplit = explode(&#39;.&#39;, $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;
        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;
}
로그인 후 복사


教程链接:

随意转载~但请保留教程地址★

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿