我希望使用PHP将给定子网掩码中的所有IP都放入一个数组中。 下面是在我的XAMPP服务器中执行正常的代码,但是当我尝试在live Server上执行它时,相同的代码没有错误,也没有输出。
$cidrArray = array("1.1.1.1/24","2.2.2.2/24","3.3.3.3/24");
$countCIDRarrayLength = count($cidrArray);
for($i=0;$i<$countCIDRarrayLength;$i++){
$arrayCIDRwise = explode('/',$cidrArray[$i]);
$bin = '';
for($j=1;$j<=32;$j++) {
$bin .= $arrayCIDRwise[1] >= $j ? '1' : '0';
}
$arrayCIDRwise[1] = bindec($bin);
$ip = ip2long($arrayCIDRwise[0]);
$nm = ip2long($arrayCIDRwise[1]);
$nw = ($ip & $nm);
$bc = $nw | (~$nm);
for($zm=1;($nw + $zm)<=($bc - 1);$zm++)
{
$all_ipArrray[] = long2ip($nw + $zm). "<br/>";
}
}
我从“http://php.net/manual/en/function.ip2long.php”获得了一段代码,我已经构建了我的逻辑,将网络掩码的所有IP都放在一个数组中。
我使用了代码段但无法理解下面提到的含义:
虽然PHP的版本在服务器和本地服务器XAMPP上是相同的。 我上面定义的IP范围是实际IP的虚拟范围。