Jak wygenerować adresy ip z dowolnego zakresu od
1.0.0.0 do
247.255.255.255?
Ukulałem takie coś ale nie zabardzo ten system się sprawdza widać

<?php
########################
# GENERATOR ADRESÓW IP #
########################
//max 4 294 967 295 kombinacji :)
$ip_od = ('192.168.250.0'); // a (min 1.0.0.0)
$ip_do = ('192.168.251.1'); // b (max 247.255.255.255)
list
($a1, $a2, $a3, $a4) = explode('.', $ip_od);list
($b1, $b2, $b3, $b4) = explode('.', $ip_do);
if ($a4 == $b4) {
}
for ($i=$a1 ; $i<=$b1 ; $i++) {
$pierwszy[] .= ("$i");
}
for ($i=$a2 ; $i<=$b2 ; $i++) {
$drugi[] .= ("$i");
}
for ($i=$a3 ; $i<=$b3 ; $i++) {
$trzeci[] .= ("$i");
}
for ($i=$a4 ; $i<=$b4 ; $i++) {
$czwarty[] .= ("$i");
}
(int)$licznik = 1;
// pierwszy oktet $pierwszy.xxx.xxx.xxx
foreach ($pierwszy as $wynik1)
{
//drugi oktet xxx.$drugi.xxx.xxx
foreach ($drugi as $wynik2)
{
//trzeci oktet xxx.xxx.$trzeci.xxx
foreach ($trzeci as $wynik3)
{
//czwarty oktet xxx.xxx.xxx.$czwarty
foreach ($czwarty as $wynik4)
{
echo ("Pozycja: <strong>$licznik</strong>. "); echo ("$wynik1.$wynik2.$wynik3.$wynik4"); // ewentualny zapis do pliku TXT na HDD $licznik++;
}
}
}
}
$licznik = $licznik-1; // 
echo ("<br />Ilo¶ć wszystkich adresów IP: <strong>$licznik</strong>");
?>
błędny wynik:
Kod
Pozycja: 1. 192.168.250.0
Pozycja: 2. 192.168.251.0
Pozycja: 3. 192.168.252.0
Pozycja: 4. 192.168.253.0
Pozycja: 5. 192.168.254.0
Pozycja: 6. 192.168.255.0
może jakoś przekonwertować adres IP, wygenerować ile trzeba i znowu przekonwertować?
=========================
dopisane po 3 min

ok tylko nie bijcie po oczach

ip2long()
long2ip()
<?php
//max 4 294 967 295 kombinacji :)
$ip_do = sprintf("%u", ip2long('83.1.81.255')); // b (max 247.255.255.255)
// tego nie zmianiamy
echo ('Podałeś błędny zakres adresów IP, popraw go...'); } else {
(int)$licznik = 0;
// generujemy
for ($i=$ip_od; $i<=$ip_do; $i++ ) {
$licznik++;
}
echo ("Wygenerowałem: <strong> $licznik </strong> asdresów ip");
}
?>
Ten post edytował Fixer 22.05.2008, 01:55:02