当前位置: 首页>>代码示例>>PHP>>正文


PHP Net_IPv4::calculate方法代码示例

本文整理汇总了PHP中Net_IPv4::calculate方法的典型用法代码示例。如果您正苦于以下问题:PHP Net_IPv4::calculate方法的具体用法?PHP Net_IPv4::calculate怎么用?PHP Net_IPv4::calculate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Net_IPv4的用法示例。


在下文中一共展示了Net_IPv4::calculate方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: findPoolID

function findPoolID($ip)
{
    global $pro_mysql_ip_pool_table;
    $ip_calc = new Net_IPv4();
    $ip_calc2 = new Net_IPv4();
    $q = "SELECT * FROM {$pro_mysql_ip_pool_table} WHERE 1;";
    $r = mysql_query($q) or die("Cannot query {$q} line " . __LINE__ . " file " . __FILE__ . " sql said: " . mysql_error());
    $n = mysql_num_rows($r);
    for ($i = 0; $i < $n; $i++) {
        $a = mysql_fetch_array($r);
        $ip_calc->ip = $a["ip_addr"];
        $ip_calc->netmask = $a["netmask"];
        $ret = $ip_calc->calculate();
        if (!is_object($ret)) {
            $ip_calc2->ip = $ip;
            $ip_calc2->netmask = $a["netmask"];
            $ip_calc2->calculate();
            $ret2 = $ip_calc2->calculate();
            if (!is_object($ret2)) {
                if ($ip_calc->network == $ip_calc2->network) {
                    return $a["id"];
                }
            }
        } else {
            echo "Error for IP pool " . $a["id"] . " please check IP and netmask.";
        }
    }
    return 0;
}
开发者ID:jeremy-cayrasso,项目名称:dtc,代码行数:29,代码来源:ip_usage_report.php

示例2: parseAddress

 /**
  * Parse a formatted IP address
  *
  * Given a network qualified IP address, attempt to parse out the parts
  * and calculate qualities of the address.
  *
  * The following formats are possible:
  *
  * [dot quad ip]/[ bitmask ]
  * [dot quad ip]/[ dot quad netmask ]
  * [dot quad ip]/[ hex string netmask ]
  *
  * The first would be [IP Address]/[BitMask]:
  * 192.168.0.0/16
  *
  * The second would be [IP Address] [Subnet Mask in quad dot notation]:
  * 192.168.0.0/255.255.0.0
  *
  * The third would be [IP Address] [Subnet Mask as Hex string]
  * 192.168.0.0/ffff0000
  *
  * Usage:
  *
  * $cidr = '192.168.0.50/16';
  * $net = Net_IPv4::parseAddress($cidr);
  * echo $net->network; // 192.168.0.0
  * echo $net->ip; // 192.168.0.50
  * echo $net->broadcast; // 192.168.255.255
  * echo $net->bitmask; // 16
  * echo $net->long; // 3232235520 (long/double version of 192.168.0.50)
  * echo $net->netmask; // 255.255.0.0
  *
  * @param  string $ip IP address netmask combination
  * @return object     true if syntax is valid, otherwise false
  */
 function parseAddress($address)
 {
     $myself = new Net_IPv4();
     if (strchr($address, "/")) {
         $parts = explode("/", $address);
         if (!$myself->validateIP($parts[0])) {
             return PEAR::raiseError("invalid IP address");
         }
         $myself->ip = $parts[0];
         // Check the style of netmask that was entered
         /*
          *  a hexadecimal string was entered
          */
         if (eregi("^([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\$", $parts[1], $regs)) {
             // hexadecimal string
             $myself->netmask = hexdec($regs[1]) . "." . hexdec($regs[2]) . "." . hexdec($regs[3]) . "." . hexdec($regs[4]);
             /*
              *  a standard dot quad netmask was entered.
              */
         } else {
             if (strchr($parts[1], ".")) {
                 if (!$myself->validateNetmask($parts[1])) {
                     return PEAR::raiseError("invalid netmask value");
                 }
                 $myself->netmask = $parts[1];
                 /*
                  *  a CIDR bitmask type was entered
                  */
             } else {
                 if ($parts[1] >= 0 && $parts[1] <= 32) {
                     // bitmask was entered
                     $myself->bitmask = $parts[1];
                     /*
                      *  Some unknown format of netmask was entered
                      */
                 } else {
                     return PEAR::raiseError("invalid netmask value");
                 }
             }
         }
         $myself->calculate();
         return $myself;
     } else {
         if ($myself->validateIP($address)) {
             $myself->ip = $address;
             return $myself;
         } else {
             return PEAR::raiseError("invalid IP address");
         }
     }
 }
开发者ID:Esleelkartea,项目名称:kz-adeada-talleres-electricos-,代码行数:86,代码来源:IPv4.php

示例3: iprange

function iprange($ip)
{
    $array = array();
    list($ip, $netmask) = explode('/', $ip, 2);
    // create IPv4 object
    $ip_calc = new Net_IPv4();
    // set variables
    $ip_calc->ip = $ip;
    $ip_calc->bitmask = $netmask;
    $error = $ip_calc->calculate();
    if (is_object($error)) {
        echo "An error occured: " . $error->getMessage();
    }
    $curr = ip2long($ip_calc->network) + 1;
    while ($curr < ip2long($ip_calc->broadcast)) {
        array_push($array, long2ip($curr));
        $curr += 1;
    }
    return $array;
}
开发者ID:davidsoloman,项目名称:falcao.js,代码行数:20,代码来源:functions.php


注:本文中的Net_IPv4::calculate方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。