我想使用PHP
计算特定IP和子网的IP范围,我的意思是我想计算主机地址范围,例如:
IP: 91.99.98.243
Subnet: 255.255.255.240
然后:
Host Address Range: 91.99.98.241 - 91.99.98.254
如何使用ip2long()计算此范围?
答案 0 :(得分:2)
如果您只想获取地址范围,可以在long
地址上使用bitwise operators:
$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提到的calculate IP range using PHP and CIDR。