Für meinen letzten Auftrag habe ich eine Bildergalerie programmiert, die ganz einfach Verzeichnisse auf einem Server ausliest und die sich darin befindenden Bilder als Thumbnails ausgibt.
Mit der Zeit wurde die Galerie immer komplexer und es kam ein Modul hinzu, mit dem sich per Adminpanel Bildbeschreibungen in einer Datenbank anlegen ließen. Aus bestimmten Gründen benötigte ich hierfür eine Funktion, die mir ein Verzeichnis mit allen Dateien und eben auch die in Unterverzeichnissen ausliest und in ein Array lädt. Im Internet habe ich leider kein Script gefunden, also habe ich selbst ein Code-Snippet geschrieben:
Das Verzeichnis-mit-Unterverzeichnissen-(mit deren Unterverzeichnisse usw.)-in-Array-lad-Script
<?php$descres = array();function load2array($dir) {global $descres;global $mdir;$handle = opendir($dir);while ($file = readdir($handle)) {if ($file != '.' && $file != '..') {$folder = str_replace($mdir, '', $dir);$descs[] = $folder . '/' . $file . '<br />';if (is_dir($dir . '/' . $file)) {load2array($dir . '/' . $file);} else $descs[] = $folder . '/' . $file . '<br />';}}closedir($handle);$descres = array_merge($descres, $descs);$descres = array_unique($descres);}$mdir = '../images/gallery'; //Verzeichnis, das durchsucht werden sollload2array($mdir);/* Zum Test wird $descres widergegebenecho '<pre>';print_r($descres);echo '</pre><br />'; */?>
Wenn man nicht oft mit rekursiven Funktionen arbeitet (so wie ich
), dann schleichen sich sehr schnell Fehler ein, die gar nicht so leicht zu finden sind – ich garantiere also für nichts.
Ihr dürft das Code-Snippet gerne weiterverwenden. Es wäre nett, wenn ihr dafür einen Link zu meiner Seite setzt, das ist aber keine Pflicht.
Bei Fragen dürft ihr die Kommentarfunktion missbrauchen.