PHP小程序,子网掩码长度的计算

2018-06-22 05:32:59来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

 

开发中遇到一个小需求,就是把国内的网段,纳入到公司服务器的IP地址白名单里:

比如电信的地址是这样的: 

给出了每个网段的网络地址和广播地址(其实就是每个网段的第一个地址和最后一个地址),网页上提供了文件下载

 

而服务器里设置过滤规则是这样的:

比如: 192.168.1.0/24

 

所以我就需要些一个小程序,完成上面的转换:

下面是小程序的demo:

<?php

//子网掩码长度计算
function submaskLength($ip,$ip2){
$str = decbin(ip2long($ip));
$str2 = decbin(ip2long($ip2));
for ($i=0; $i < 32; $i++) { 
   $strChar = substr($str, $i,1);
   $strChar2 = substr($str2, $i,1);
   //echo $strChar,',',$strChar2,'<br/>';
   if (strcmp($strChar,$strChar2)) {
      break;
   }
}
return $i;
}

$ip = '192.168.1.1';
$ip2 = '192.168.1.255';

echo submaskLength($ip,$ip2);

?>

 

后来,此需求取消了,也就没有继续研究下去.不知道php里面有没有相应的函数

水平有限,也就写成这样了,分享一下!

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:wordpress上下篇

下一篇:WordPress调用特色图片地址源,去除特色图片img标签其他样式