CMS - Workbench | DE


Templating and Coding for CMS (WordPress, Bludit, Automad, Typesetter, GetSimple, Pico and more)


Verzeichnis mit PHP lesen

Mit PHP ein Verzeichnis mit Ordnern und Dateien einlesen und anzeigen. Der Beitrag zeigt ein kurzes Codesegment.

Manchmal ist es hifreich die Verzeichnisse, also Ordner, eines Directorys einlesen zu können. Das folgende Script liest alles was im aktuellen Pfad steht:

001  <?php
002    $verzeichnis = '.'; // aktuelles Dir.
003    echo '<ol>';
004
005    if (is_dir ($verzeichnis)) {
006      if ($handle = opendir($verzeichnis)) {
007        while (($file = readdir($handle)) !== false) {
008          echo '<li>Dateiname: '.$file.' (typ) '.filetype($file).'</li>';
009        }
010        closedir($handle);
011      }
012    }
013    echo '</ol>';
014  ?>

Es gibt eine Liste mit dem gesamten Inhalt aus und zeigt den Typ (file oder dir) an.

    Dateiname: . (typ) dir
    Dateiname: .. (typ) dir
    Dateiname: datei1.txt (typ) file
    Dateiname: datei2.txt (typ) file
    Dateiname: ordner (typ) dir

Soll zudem ein Unterverzeichnis durchsucht werden, dann muss der vollständige Pfad in filetype() Berücksichtigung finden, es erfolgt ansonsten die Ausgabe eines Fehlers, da filetype() die Source nicht finden kann:

001  <?php
002    $verzeichnis = 'texte';
003    echo '<ol>';
004
005    if (is_dir($verzeichnis)) {
006      if ($handle = opendir($verzeichnis)) {
007        while (($file = readdir($handle)) !== false) {
008          echo '<li>Dateiname: '. $file. ' (typ) '. filetype($verzeichnis.'/'.$file).'</li>';
009        }
010        closedir($handle);
011      }
012    }
013    echo '</ol>';
014  ?>

Soll das aktuelle '.' und das übergeordnete Verzeichnis '..' bei der Ausgabe ausgeschlossen werden, sollte ein if in Zeile 008 in etwa so angepasst werden:

001  <?php
002    $verzeichnis = 'texte';
003    echo '<ol>';
004
005    if (is_dir($verzeichnis)) {
006      if ($handle = opendir($verzeichnis)) {
007        while (($file = readdir($handle)) !== false) {
008          if (filetype($verzeichnis.'/'.$file) == 'dir' && $file != '.' && $file != '..') {
009            echo '<li>Ordner: '. $file.'</li>';
010          }
011        }
012        closedir($handle);
013      }
014    }
015    echo '</ol>';
016  ?>

Sofern sich im Verzeichnis texte Ordner befinden, werden diese angezeigt. Dateien werden nicht mehr angezeigt.

22.11.2020 • PHP • Lesen Directory Verzeichnis


Oliver Lohse - Ich bin diplomierter Wirtschafts-Informatiker und Organisations-Programmierer in verschiedenen Sprachen bzw. Markup-Dialekten, z.B.: Java, JEE, COBOL, PHP, Python, MySQL, HTML, CSS, ANSI C, Lisp, Rexx, JavaScript, Scheme, ActionScript 2.0, Maschinensprache, Assembler und JCL. Seit mehr als 22 Jahren arbeite ich in einem grossen Softwareunternehmen in Niedersachsen. Sie sehen auf dieser Seite mein eigens für Bludit CMS entwickeltes Theme "Reaktor-Block IV".

Kontakt: Κontakt@Οliver-Lohse.de


Empfehlungen:



Konkreten Post anzeigen

Lesen Sie feste Beiträge mit zwei Zeilen Code aus dem GetSimple CMS für fixierte Templates mit unveränderlichen Strukturen.

mehr...

Verzeichnis mit Java anlegen

mehr...

config.propertie lesen

mehr...



CMS Workbench

Hilfreiche Tipps, Tricks, Codings und Codeschnipsel, die im Rahmen der Entwicklung, Weiterentwicklung und Templatings zum Thema CMS immer wieder benötigt werden - aus verschiedenen Sprachdialekten wie Java, JavaScript, PHP, Python und anderen.