Verzeichnisse und Dateien einlesen

Sie können mit PHP ein Verzeichnis mit Ordnern und Dateien einlesen und anzeigen. Der Beitrag zeigt ein kurzes Codesegment mit dem opendir() Befehl aus PHP.

Inhalt

Verzeichnis mit PHP Script einlesen

Manchmal ist es hifreich die Verzeichnisse, also Ordner, eines Directorys mit einem kleinen PHP Script einlesen zu können. Das folgende Script liest alles was im aktuellen Pfad steht und gibt den Inhalt aus:

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  ?>

Code

Das PHP Script gibt eine Liste mit dem gesamten Inhalt aus und zeigt die diversen Datei-Typ an. Es unterscheidet, ob es sich um normale Dateien oder Ordner handelt.

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

Code

Soll zudem ein Unterverzeichnis mittels PHP 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  ?>

Code

Soll das aktuelle '.' und das übergeordnete Verzeichnis '..' bei der Ausgabe des PHP Scriptes 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  ?>

Code

Sofern sich im Verzeichnis texte etwaige Ordner befinden, werden diese durch PHP angezeigt. Dateien werden nicht mehr angezeigt und ausgeblendet.


FlightCMS
2024-01-28
Beitrag,Sortieren,Datum,Titel,ASC,DESC
post
14

Ein eigenes CMS programmieren I.

In diesem mehrteiligen Workshop entwickeln Sie ein eigenes kleines Content Management System mit einer Flatfile Datenbank und Markdown Parser - inkl. Download.

Ein eigenes CMS programmieren II.

In der zweiten Hälfte des Workshops, geht es darum, das kleine CMS noch weiter auszubauen und vollwertig zu machen. Sie binden die Template-Engine Smarty ein.