大佬教程收集整理的这篇文章主要介绍了如何在 PHP 中获取 IP 列表的完整 IP 范围,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一些它在文本文件 ips.txt 中。我想从该列表中获取每个 IP 的完整 IP 范围。
The following is included in ips.txt
37.123.206.198
115.84.182.49
154.16.116.35
115.84.182.49
142.250.192.14
112.78.2.75
如何获取每个ip的完整IP范围? 1-255
Example (with first Ip)
37.123.206.198
37.123.1.1
37.123.2.1
37.123.3.1
37.123.4.1
.
.
.
37.123.255.1
37.123.1.2
37.123.2.2
37.123.3.2
37.123.4.2
读取文件并将ips存储在一个数组中。然后:
<?php
$ips = [
"37.123.206.198","115.84.182.49","154.16.116.35","142.250.192.14","112.78.2.75"
];
$result = [];
foreach ($ips as $ip) {
$ip_arr = explode('.',$ip);
for ($i = 0; $i <= 255; $i++) {
for ($j = 0; $j <= 255; $j++) {
$new_ip = $ip_arr[0] . '.' . $ip_arr[1] . '.' . $i . '.' . $j;
$result[$ip][] .= $new_ip;
}
}
}
print_r($result["37.123.206.198"][0]);
?>
输出:37.123.0.0
您可以尝试使用 ip2long 将 IP 地址转换为整数。
/* Generate a list of all IP addresses between $start and $end (inclusivE). */
function ip_range($start,$end) {
return array_map('long2ip',range(ip2long($start),ip2long($end)) );
}
$ip_range = ip_range("1.1.1.1","1.1.255.255");
foreach ($ip_range as $ip){
echo $ip."<br>";
}
尝试运行上面的代码,看看这是否是您想要的。
注意:这也将包括 x.x.x.0(例如:1.1.2.0)
参考资料:查看这些1、2。
以上是大佬教程为你收集整理的如何在 PHP 中获取 IP 列表的完整 IP 范围全部内容,希望文章能够帮你解决如何在 PHP 中获取 IP 列表的完整 IP 范围所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。