在php中转换网络掩码
如何将网络掩码转换为特定的网络掩码 示例:127.0.0.0/16转换为/24网络掩码 它应该输出如下内容:在php中转换网络掩码,php,cidr,netmask,Php,Cidr,Netmask,如何将网络掩码转换为特定的网络掩码 示例:127.0.0.0/16转换为/24网络掩码 它应该输出如下内容: 127.0.0.0/24 127.0.1.0/24 127.0.2.0/24 127.0.2.0/24 一直到127.0.255.0/24 如何通过PHP实现这一点?我发现了这个工具:它是用PERL编写的。如何使用PHP获得类似的功能性 我发现了这个:虽然它看起来破了。。可能会尝试修复它 更新已解决:我基本上运行:$exec=shell_exec/usr/local/bin/ipcal
127.0.0.0/24
127.0.1.0/24
127.0.2.0/24
127.0.2.0/24
一直到127.0.255.0/24
如何通过PHP实现这一点?我发现了这个工具:它是用PERL编写的。如何使用PHP获得类似的功能性
我发现了这个:虽然它看起来破了。。可能会尝试修复它
更新已解决:我基本上运行:$exec=shell_exec/usr/local/bin/ipcalc 127.0.0.0/16 24-b-n;并解析出网络:字段。这基本上将127.0.0.0/16转换为all/24
确保主机上安装了ipcalc以完成此操作。您可以在CentOS中使用yum install ipcalc,或在Ubuntu中使用apt get install ipcalc,或在FreeBSD上使用cd/usr/ports/net mgmt/ipcalc/&&make install clean:我已经构建了一个库 你必须这样做:
<?php
use Leth\IPAddress\IP;
$current_cidr = 16;
$desired_cidr = 24;
$net = IP\NetworkAddress::factory('127.0.0.0', $current_cidr);
$subnets = $net->split($desired_cidr - $current_cidr);
哇,太棒了。我会试试看!谢谢