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.

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.


Mein Name ist 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 25 Jahren arbeite ich in einem großen Softwareunternehmen für Versicherungen in Hannover Niedersachsen.

FlightCMS
2024-01-28
Beitrag,Sortieren,Datum,Titel,ASC,DESC
post
Kontakt@Oliver-Lohse.de

PHP

PHP ist die strategische Programmiersprache des Internets, mit PHP geht alles und ohne PHP nichts! Allerdings ist PHP nicht auf lokalen Client-Umgebungen verbreitet (aber möglich).

Datenschutz

Die Webseite verwendet keinerlei Tracking- oder Speichermechanismen, die einen Rückschluss auf das Leserverhalten und Ihre Identität zulassen. Die Webseite verwendet keine Cookies, denn Cookies haben einen schlechten Ruf.

Impressum

CMSWorkbench ist eine Entwicklerseite über meine Arbeit im Bereich der Content Management Systeme. Die vielen Codeschnipsel sind im wesentlichen als kleine Notizzettel zu werten als das es ausgereifte Beiträge wären.