Ankündigung

Einklappen
Keine Ankündigung bisher.

Verzeichnisse und Dateien auslesen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Verzeichnisse und Dateien auslesen

    Hi,

    ich möchte ein Hauptverzeichnis angeben und eine Funktion soll mir alle Unter-Verzeichnisse mit deren Dateien ausgeben.

    Habe schon eine Funktion geschrieben, leider ist sie sehr langsam
    PHP-Code:
    function walk_folder($verzeichnis 0$level){

    $temp = array();
    $array_counter 0;
    $spacer;

    //Ausgabe des Verzeichnisnamen
    echo "

    [b]"
    .str_replace ('\\'' 'strrchr($verzeichnis"\\"))."[/b]<hr color=719ee1 width=350 align=left>\n"

    //Versuche das Verzeichnis zu lesen
    if($dir opendir($verzeichnis)){

    // Lese alles aus dem Verzeichnis aus und schreibe es in das Array files
    $files scandir($verzeichnis);

    //Gehe nun files komplett durch und suche nach Verzeichnissen
    foreach ($files as $value)
      if (
    strlen($value) > 2//Wenn mehr als 2 Zeichen im String vorhanden sind 
      // Wenn es kein Verzeichnis ist, muss es eine Datei sein
      
    if (!is_dir($verzeichnis."//".$value)){ 
      
    //for ($zaehler = 0; $zaehler != $level; $zaehler++) echo "";
      
    echo "- [url='".$verzeichnis.']".substr($value, 0, strpos($value, "."))."[/url]
    \n";
      //Ansonsten ist es ein Verzeichnis -> Speicher in das Array $temp
      }else  $temp[$array_counter++] = $verzeichnis.'
    \\'.$value;
    //Wenn es einen Fehler gibt gebe den Fehler aus
    //Gehe alle gefundenen Verzeichnisse rekursiv durch
    foreach ($temp as $value) walk_folder($value, $level++);

    //Schließe das Verzeichnis
    closedir($dir);


    }else echo "Fehler beim Öffnen des Verzeichnisses";
    }// Ende der Funktion 

    Gibt es einfachere (schnellere Variante)?

    Vielen Dank

    Gruss
    Unknown

  • #2
    http://de2.php.net/function.opendir
    PHP-Code:
    <?php
    $dir 
    "/etc/php5/";

    // Öffnen eines bekannten Verzeichnisses und danach seinen Inhalt einlesen
    if (is_dir($dir)) {
       if (
    $dh opendir($dir)) {
           while ((
    $file readdir($dh)) !== false) {
               echo 
    "filename: $file : filetype: " filetype($dir $file) . "\n";
           }
           
    closedir($dh);
       }
    }
    ?>
    Das einfach in eine Funktion packen und rekursiv verwenden.

    Kommentar

    Lädt...
    X