Avatar billede zac Nybegynder
14. januar 2006 - 23:28 Der er 6 kommentarer og
1 løsning

To løsninger på filnavne fra dir, en virker ikke, hvorfor?

Hvorfor virker kun den første af disse to måder at få filnavne frem på fra en mappe?

Virker:
// Åben en kendt mappe og læs dens indhold, her kun filnavn
$dir = "Graphics";
if (is_dir($dir)) {
  if ($dh = opendir($dir)) {
      while (($file = readdir($dh)) !== false) {
          echo "filename: " . $file . "<br />";
      }
      closedir($dh);
  }
}
echo "<br /><br />";

Virker ikke:
// load all image file names
$handle = opendir('Graphics');
$file = readdir($handle);
$filelist[] = $file;
closedir($handle); 
while ( list ($key, $value) = each ($filelist) )
{
    echo $value . "<br />";               
}
Avatar billede fangel Nybegynder
14. januar 2006 - 23:30 #1
Kunne man få en mere uddybende forklaring end "virker ik"?

Og vigtigere - hvad er det nu liiige problemet er, du har jo faktisk en måde der virker.. ;)

Morten
Avatar billede hmortensen Nybegynder
14. januar 2006 - 23:35 #2
En lettere metode:
foreach (glob("Graphics/*.*") as $filnavn)
{
  echo $filnavn."<br />";
}
Avatar billede zac Nybegynder
14. januar 2006 - 23:37 #3
"Virker ikke" betyder, at den er blank, ingenting (men ingen blokering).

Jeg vil helst have den 2. måde igennem, så jeg kan bruge $value videre frem...men den kan jeg også få fra den første, men alligevel! der må være en grund til ikke virker...
Avatar billede erikjacobsen Ekspert
14. januar 2006 - 23:38 #4
Ja. nummer 2 virker ikke fordi readdir "Returns the filename of the next file [...]". Du skal altså kalde readdir li'så mange gange som der er filer.
Avatar billede zac Nybegynder
17. januar 2006 - 11:56 #5
ok, kan godt se, at det er det, der sker i nr. 2... takker!
Avatar billede zac Nybegynder
17. januar 2006 - 11:57 #6
så vidt jeg husker, vil du ikke have points :-)
Avatar billede zac Nybegynder
17. januar 2006 - 12:04 #7
også tak til hmortensen, kendte ikke funktionen glob, ret fiks og meget nyttig, du skulle have have point'ene!
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