Verzeichnisse, Dateien und Ordner automatisch einlesen - PHP

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.

WordPress 5 Das Praxisbuch

WordPress 5 Das Praxisbuch - WordPress ist weltweit das beliebteste CMS-Tool. Dieses Buch führt Sie in die Welt der Blogs ein, ohne Programmierkenntnisse vorauszusetzen. Verschiedene Arten von Blogs, passende Themes sowie hilfreiche Plugins werden vorgestellt, das Erstellen von Beiträgen und der Umgang mit Bildern beschrieben. Sie erfahren wichtige Details zu Kommentaren, Newslettern, Abonnenten sowie zum Administrationsbereich. Wertvolle Tipps zur Suchmaschinenoptimierung runden das Werk ab. Der Titel ist für Anfänger und Fortgeschrittene zum Lernen und Nachschlagen geeignet. Ein Buch aus der Praxis für die Praxis. (*

kaufen...

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

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

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

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

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


Tags: Verzeichnis • Ordner • lesen • read • Directory • File
Datum: 01.12.2021
Autor: Oliver Lohse

Weitere passende Artikel

_____

Das Flatfile CMS GetSimple hat zunächst den Fileupload deaktiviert. Aktivieren Sie den Upload von Daten wie Bildern u.ä damit Sie Daten hochladen können.

Einen ganz konkreten Post und Beitrag lesen - GetSimple CMS

XML • Post • laden • lesen • Beitrag
Lesen Sie feste Beiträge mit zwei Zeilen Code aus dem GetSimple CMS aus. Besonders hilfreich für fixierte Templates mit unveränderlichen Strukturen.
WordPress Easy - Redaktion

About me

Mein Name ist Oliver Lohse. Ich bin diplomierter Wirtschafts-Informatiker und Organisations-Programmierer in verschiedenen Programmier-Sprachen und 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 24 Jahren arbeite ich als Entwickler in einem großen Softwareunternehmen für Versicherungen in Hannover Niedersachsen und seit etwa 37 Jahren im EDV-Sektor mit wechselnden Aufgaben.