Avatar billede aggie Nybegynder
05. november 2003 - 16:18 Der er 7 kommentarer og
1 løsning

IP range konverteres til liste?

jeg vil gerne trylle en liste over ip's frem fra en bruger indtastet start og slut ip, således at:

start: [169.254.0.254]
Slut:  [169.254.128.139]

bliver lavet om til

169.254.0.254
169.254.1.0
169.254.1.1
169.254.1.2
...
169.254.128.138
169.254.128.139

- altså en lang liste over ip's indenfor det område der er indtastet, jeg er ikke en haj med bits og masker, og jeg kan ikke få mit hovede rundt om en løsning der virker, kan en anden lave et par frække løkker der kan fixe det?

- på forhånd tak,
aggie
Avatar billede riversen Nybegynder
05. november 2003 - 16:21 #1
du kan lave 4 for-løkker...en for hver oktet.
Avatar billede riversen Nybegynder
05. november 2003 - 16:21 #2
nestede for-løkker altså
Avatar billede martinbk Nybegynder
05. november 2003 - 16:36 #3
<?

$s1='195.24.54.1';
$s2='195.24.60.240';

$i1=ip2long($s1);
$i2=ip2long($s2)+1;
for ($i=$i1;(int)$i<>(int)$i2;$i++) {
  $s=long2ip($i);
  print "$s\n";
}
?>
Avatar billede martinbk Nybegynder
05. november 2003 - 16:45 #4
skal lige siges ovenstående er ikke testet, så bare skriv hvis skidtet ikke virker
Avatar billede martinbk Nybegynder
06. november 2003 - 19:51 #5
hva har du fundet af noget, eller ?
Avatar billede aggie Nybegynder
11. november 2003 - 16:43 #6
den er fin, og en milliard gange smartere end den løsning jeg selv rørte sammen :)
Avatar billede aggie Nybegynder
12. november 2003 - 15:38 #7
den løsning jeg endte med ser sådan her ud:

function IPListFromRange($sRangeStart,$sRangeEnd) {
    // string IPListFromRange( string sRangeStart, string SRangeEnd )
    // accepts 2 dotted ip adresses as ranges, returns newline separated string

    for($i=ip2long($sRangeStart);$i<=ip2long($sRangeEnd);$i++) {
        $sIP[] = long2ip($i);
    }
    return $aIP;
}
Avatar billede aggie Nybegynder
12. november 2003 - 15:48 #8
ehm, men returnerer et array, _ikke_ en newline separeret streng som dokumentationen siger ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester