Dateien in Verzeichnis auflisten mit PHP

PHP ist in Webserver-Umgebungen sehr mächtig und nicht mehr wegzudenken. In diesem Beispiel möchte ich alle Bilder in einem Verzeichnis auf einer HTML Seite ausgeben. Das ist mit PHP sehr einfach zu erledigen. Hierzu lassen wir zuerst alle Dateien in Ordner auflisten mit PHP. Dieser werden in ein Array geschrieben und zum Schluss wird mit den Inhalten des Arrays eine HTML Code generiert. Wie das Ausgeben der Bilder mit PHP funktioniert zeigen wir euch natürlich.

geralt / Pixabay

Dateien in Verzeichnis auflisten mit PHP

Ein paar Worte zur Ausgangssituation: Wir haben eine Fotobox, welche die geknipsten Bilder in einen Ordner speichert. Mit Hilfe eines Webservers zeigen wir alle Bilder des Verzeichnisses auf einer Website an, damit die Personen sich die Bilder sofort auf das Smartphone speichern können.

Damit die Bilder auf der HTML Website angezeigt werden können, müssen wir alle Bilder in einem Ordner auflisten und in ein Array speichern. Mithilfe des Arrays ist es relativ einfach möglich den HTML Quellcode damit zu generieren und die Bilder anzeigen zu lassen. Aber nun zum PHP Code.

Im ersten Teil des Codes gehen kümmern wir uns um alle Inhalte die wir benötigen.

  1. Verzeichnis mit den Dateien / Bildern öffnen
  2. Objekte in das Array schreiben
  3. Array sortieren, dass das neueste Objekt (Bild) oben steht
  4. Verzeichnis schließen
  5. Objekte im Array zählen
<?php

// angegebenen Verzeichnis oeffnen
$myDirectory = opendir("./pics/prints");

// Objekte lesen und in Array schreiben
while($entryName = readdir($myDirectory)) {
$dirArray[] = $entryName;
}

//Array sortieren - neuestes Objekt zuerst
rsort($dirArray);

// Verzeichnis schliessen
closedir($myDirectory);

// Objekte im Array zaehlen
$indexCount = count($dirArray);

?>

Im nächsten und letzten Teil des PHP Scripts bauen wir den HTML Quell-Code zusammen, nachdem wir Dateien in Ordner auflisten ließen. Auch hier ist die Vorgehensweise relativ einfach:

  1. Jedes Objekt im Array durchlaufen
  2. Nur ausführen, wenn Dateiendung JPG ist
  3. HTML Code generieren mit URL aus dem Array
<?php
// Array durchlaufen und in einer Liste ausgeben
for($index=0; $index < $indexCount; $index++) {
$extension = substr($dirArray[$index], -3);
if ($extension == 'jpg'){ // nur JPG Dateien ausgeben

// HTML schreiben, in diesem Fall Bilder
echo '<a class="example-image-link" href="/galery/pics/prints/' . $dirArray[$index] . '" data-lightbox="example-set" data-title=""><img class="example-image" src="/galery/pics/prints/' . $dirArray[$index] . '" alt=""/></a>';

// HTML schreiben, in diesem Fall den Download-Button zum Bild
echo '</br><img src="download.png" height="32" width="32">
<a href="/galery/pics/prints/' . $dirArray[$index] . '" download="' . $dirArray[$index] . '">Bild herunterladen</a></br></br>';

}
}

?>

Ich habe den Quell-Code ein wenig kommentiert, ich hoffe das Meiste ist verständlich. Wenn nicht schreibt doch bitte einen Kommentar. Das Dateien in Ordner auflisten mit PHP ist also gar nicht schwer, wenn man diese einfachen Schritte befolgt.

Johannes Huber
 

In seiner Freizeit macht Johannes nichts lieber, als für ITnator Beiträge zu schreiben. Input bekommt er hierfür von Problemen in der IT Administration von Servern, Clients und vielen weiteren IT Komponenten.

Click Here to Leave a Comment Below 0 comments