login  Naam:   Wachtwoord: 
Registreer je!
 Forum

dir uitlezen

Offline luchtpost - 04/02/2009 14:54 (laatste wijziging 04/02/2009 14:55)
Avatar van luchtpostPHP interesse Met dit script wil ik de map 'pictures' uitlezen en vervolgens zijn submappen, maar het lukt me niet goed. Ik krijg de bestanden van de submappen wel te zien maar bij de tweede map krijg ik ook de submappen van de vorige map?? Ik wil absoluut de sort-functie (arsort) behouden!


http://www.plaatscode.be/88086/

  1. <?php
  2. $dir = opendir("pictures");
  3. while($file = readdir($dir))
  4. {
  5. if ($file != "." && $file != "..")
  6. {
  7. $files[] = trim($file);
  8. }
  9. }
  10. arsort($files);
  11. foreach($files as $file)
  12. {
  13. //de mappen uit de map 'pictures' worden getoond
  14. echo $file.'<br />';
  15. //nu probeer ik de submappen op te halen
  16. $dir2 = opendir("pictures/$file");
  17. while($file2 = readdir($dir2))
  18. {
  19. if ($file2 != "." && $file2 != "..")
  20. {
  21. $files2[] = trim($file2);
  22. }
  23. }
  24. arsort($files2);
  25. foreach($files2 as $file2)
  26. {
  27. echo $file2.'<br />';
  28. }
  29. }
  30. ?>

3 antwoorden

Gesponsorde links
Offline Abbas - 04/02/2009 14:55
Avatar van Abbas Gouden medaille

Crew .NET
Codetags zijn: [code_] en [/code_], maar dan zonder die '_'. 
Offline Sitebase - 04/02/2009 15:40
Avatar van Sitebase PHP expert Je kan dit beter met een recursieve functie maken. Dit doe je door een functie te schrijven met één argument waar je een map aan kan meegeven. Vervolgens loopt de functie door alle bestanden in de map. Als de lus een map tegenkomt roept hij diezelfde functie terug aan met als argument de gevonden map.

Hieronder een voorbeeldje:

  1. function listDir($dir){
  2. if (is_dir($dir)) {
  3. if ($dh = opendir($dir)) {
  4. while (($file = readdir($dh)) !== false) {
  5. if ($file != "." && $file != "..") {
  6. $fullpath = $dir."/".$file;
  7. if (is_file($fullpath)) {
  8. echo $fullpath;
  9. }
  10. else if (is_dir($fullpath)) {
  11. listDir($fullpath);
  12. }
  13. }
  14. }
  15. closedir($dh);
  16. }
  17. }
  18. }
Offline luchtpost - 04/02/2009 17:49
Avatar van luchtpost PHP interesse geniaal!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.198s