[PHP] Dateien und Ordner auslesen



  • Hi!

    Wie kann ich aus einem bestimmten Verzeichnis meine Dateien und Ordner auslesen und dann geordet als Text ausgeben? Mit geordnet meine ich Aplphabetisch und nach Typ. Zuerst sollen alle Ordner und dann Alle Dateien kommen:

    Ordner
    Ordner
    Ordner
    Datei
    Datei
    Datei

    Ich würde nicht frage, wenn ich wirklich nicht mehr weiterweiß. BITTE helft mir und gebt mir nicht Stichworte wie is_dir etc. .
    Ich habe schon rumgesucht und rumprobiert BITTE, BITTE helft mir!
    Leider gibt es kein GLOB_ONLYFILE, denn dann wäre es einfach.

    BITTE HELFT MIR!

    gez. Grandpa



  • mit

    $fhandle = opendir("pfad")
    

    kannst du ein Verzeichnis öffnen und erhälts ein Verzeichnishandle. Mit diesem Handle ist es nun möglich den Inhalt deines Pfades auszulesen.

    while($file = readdir($fhandle))
    {
       //Hier kannst du dann deine Dateien und Verzeichnisse auflisten.
    }
    

    und zum Schluss das Verzeichniss wieder schliessen

    closedir($fhandle);
    

    Schau dir die Fnuktionen des Dateisystems in der PHP-Dokumentation an um weitere Informationen zu bekommen.



  • Du kannst z.B. mittels is_dir unterscheiden, was du gerade gefunden hast, und dann getrennte Arrays zum zwischenspeichern verwenden. Dann verbindest du die mittels array_merge in der Reihenfolge, in der du sie brauchst und gibst sie z.B. mit implode aus.



  • MORL schrieb:

    mit

    $fhandle = opendir("pfad")
    

    kannst du ein Verzeichnis öffnen und erhälts ein Verzeichnishandle. Mit diesem Handle ist es nun möglich den Inhalt deines Pfades auszulesen.

    while($file = readdir($fhandle))
    {
       //Hier kannst du dann deine Dateien und Verzeichnisse auflisten.
    }
    

    und zum Schluss das Verzeichniss wieder schliessen

    closedir($fhandle);
    

    Schau dir die Fnuktionen des Dateisystems in der PHP-Dokumentation an um weitere Informationen zu bekommen.

    Dateien und Ordner normal auslesen kann ich ja schon.

    Dasd schrieb:

    Du kannst z.B. mittels is_dir unterscheiden, was du gerade gefunden hast, und dann getrennte Arrays zum zwischenspeichern verwenden. Dann verbindest du die mittels array_merge in der Reihenfolge, in der du sie brauchst und gibst sie z.B. mit implode aus.

    Mit is_dir komme ich nicht zurecht aber ich versuch noch mal einen Code zu machen. Array_merge und implode habe ich noch nicht benutzt.



  • Für is_dir musst du dir afaik wieder den Pfad zusammensetzen (aus dem, was du an opendir übergeben hast und das, was readdir zurückliefert)



  • Grandpa schrieb:

    Mit is_dir komme ich nicht zurecht aber ich versuch noch mal einen Code zu machen. Array_merge und implode habe ich noch nicht benutzt.

    Dann schau dir einfach mal die Referenz auf php.net zu diesen beiden Funktionen an. Besser kann man's in der Handhabung gar nicht haben.



  • Ich öffne jetzt den Ordner, lese ihn aus und gebe (noch alles außer "." und ".." aus). Dann wir der Ordner wieder geschlossen.

    $handle = opendir("files/");
    
    while($file = readdir($handle))
    {
    
      if(!is_dir($file))
      {
       echo ''.$file.'<br>';
      }
    
    }
    
    closedir($handle);
    

    Dasd schrieb:

    Das hatte ich auch vor



  • Ich weiß jetzt aber wirklich nicht weiter!

    BITTE! BITTE HELFT MIR!



  • OK ich hab es jetzt



  • Mich würd jetzt mal interresieren, wie du's gelöst hast 😉
    just4intrest


Anmelden zum Antworten