CMS Workbench

Hilfreiche Codeschnipsel, Tipps und Tricks, um das eigene CMS (Bludit, WordPress, Joomla, ...) anzupassen


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

Verzeichnisse mit PHP lesen

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.

1. Dateiname: . (typ) dir
2. Dateiname: .. (typ) dir
3. Dateiname: datei1.txt (typ) file
4. Dateiname: datei2.txt (typ) file
5. 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.




Empfehlungen


page.php - Metadaten

Zeigen Sie im Theme "Alternative" Metadaten wie Datum und Uhrzeit der Erstellung des Posts an, so einfach geht es.


Supportet Filetypes

Stellen Sie im SingleUser Modus selber ein welche Dateitypen Bludit für den Upload akzeptieren soll und welche nicht.




Channel Monitoring

Aus Zeit- und Kostengründen wünschen Sie die Betreuung Ihres Social-Kanals wie Xing, Kununu, YouTube, Facebook, Instagram, Twitter oder Ihrer Firmenseite.

Web-Design und Templating

Für Ihr Unternehmen benötigen Sie eine professionelle und sichere Webseite nach aktuellem Stand der Technik, um weitere Kundenfelder zu erschließen.

Bewertungen und Sterne

Ihr frisch gebackenes Unternehmen benötigt einen Image-Vorschuss, positive Bewertungen bei Google, Instagram uns co. ermöglichen einen sorglosen Start.