Giriş olduğunu varsayın:
222.123.34.45
ve 222.123.34.55
sonra çıkış için aralarında ip adresi gerekir:
222.123.34.45 222.123.34.46 ... 222.123.34.55
Kullan ip2long()
and long2ip()
a>:
function ip_range($from, $to) {
$start = ip2long($from);
$end = ip2long($to);
$range = range($start, $end);
return array_map('long2ip', $range);
}
Yukarıdaki sayılar (PHP çekirdek işlevlerini kullanarak) içine iki IP adreslerini döner sayılar bir dizi oluşturur ve ardından IP adresleri içine numara aralığını döner.
Onları sadece implode()
sonuç boşluklarla ayrılmış istiyorum.
PHP'nin tip esneklik yararlanan
//check to make sure the IPs are part of the same subnet
if(implode ( '.', array($first, $second, $third)) !=
implode ( '.', array($first2, $second2, $third2)))
{
throw new Exception('IP Addresses must be in same subnet');
}
//a array/collection to hold the ip addresses
$ips = array();
//now, treating the fourth section as an number
for($i=$fourth; $i<=$fourth+10;$i++)
{
//push on a new IP
$ips[] = implode('.',array($first, $second, $third, $i));
}
print_r($ips);
>
IP Adresleri aslında sayılar gerçeği (yararlanarak hakkında garip şeyler olabilir
$ips = array();
for($i=ip2long($ip);$i<=ip2long($ip2);$i++)
{
$ips[] = long2ip($i);
}
print_r($ips);