简体   繁体   中英

Convert a start and end ip range to a net mask

Good morning,

I am trying to get the subnet mask from a start and end ip in PHP.

Eg;
14.1.32.0 and 14.1.64.0 is 255.255.224.0

But there doesn't seem to be any built in function for this? Everything I have searched refers to CDIR and trying to get all the ips etc so it seems I am trying to go the other way.

Anyone have any ideas?

This should get you what you want:

$ip = "14.1.32.0"; 
$ip2 = "14.1.64.0";
echo long2ip(ip2long($ip) - ip2long($ip2));

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM