2

我想使用 计算特定 IP 和子网的 IP 范围PHP,我的意思是我想计算主机地址范围,例如:

IP: 91.99.98.243
Subnet: 255.255.255.240

然后:

Host Address Range: 91.99.98.241 - 91.99.98.254

如何使用ip2long()计算此范围?

4

1 回答 1

2

如果只想获取地址范围,可以对地址使用位运算符long

$ip     = ip2long('91.99.98.243');
$mask   = ip2long('255.255.255.240');
echo 'Host Address Range: ', long2ip($ip & $mask), ' - ', long2ip($ip | ~$mask);

如果您想在每个地址上循环,请参阅Joran Den Houting 提到的使用 PHP 和 CIDR 计算 IP 范围。

于 2013-09-30T10:21:53.903 回答