将开始和结束ip范围转换为网络掩码

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));