[HTML / PHP] Dateien aus Ordner auslesen

forumuser02

Mitglied
Hallo Zusammen

Ich habe schon im Internet gesucht aber nichts "passendes" geunden.

Ich habe zwei Fragen:

Ich möchte einen Ordner mit Bildern auslesen und in einer Galerie anzeigen lassen.
Ich möchte es so machen, dass wenn ich ein Bild in den Ordner kopiere, dieses direkt angezeigt wird.
(Ohne dass ich das Bild im Code ergänzen muss.)

Als zweites möchte ich eine Ordner mit Musikdateien auslesen (mit den Bedingungen von oben) und wie eine Art Online Mediaplayer anzeigen lassen. Also mit einer Playlist-Funktion usw.

(Es wäre super wenn der Code mit Komentaren ergänzt werden würde, damit ich ihn auch verstehe.)

Ich danke schon vielmals.

Forumuser02
 

kujulian

Stammgast
Entweder bin ich zu doof oder steh grad auf dem Schlauch, aber ich versteh deine Beschreibung nicht. Wo ist der Ordner? Was hat das mit Webentwicklung zu tun?^^
 

forumuser02

Mitglied
Guten Abend

Der Ordner befindet sich momentan in meinem htdocs ordner (ich arbeite mit XAMPP).

Noch ein Versuch:
Ich habe einen Ordner, in diesen verschiebe ich die bilder zum Einbinden in meine "webseite".
Nun möchte ich, dass ich die Bilder nicht einzeln einbinden muss.
Deshalb möchte ich, dass das html oder eben php "script" alle dateien aus dem ordner ausliest und
Danach ausgibt.

Freundliche Grüsse

Forumuser02
 

Pascal - Schefer IT

Aktives Mitglied
Einfache Vorlage zur Bearbeitung

Hi forumuser2

Ich habe mal ein kleines Script zusammengestellt. Dazu musst Du im Ordner wo sich index.php (dieses Script) befindet einfach einen Ordner mit Namen "pictures" und einen Unterordner mit Namen "thumbs" erstellen. Im Ordner "pictures" platzierst Du dann die Bilder in voller Auflösung und in "thumbs" die Vorschaubilder". Den Rest erledigt das Script.

Code:
<html lang="de">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>PHP Test-Gallerie, by Pascal Bernhard</title>
        <style>
        body { font-family: Arial, sans-serif; }
        h1 {font-size: 2em;}
        p {font-size: 1em;}
        .footer {font-size: 0.8em; color: grey;}
        </style>
    </head>

<body>
<h1>Meine Gallerie</h1>
<p>Dies ist ein Test-Script um Bilder automatisch aus einem spezifischen Ordner auszulesen und als Gallerie auf der Webseite auszugeben.<br>
WICHTIG: Es werden keine automatischen Vorschaubilder erstellt. Wenn sich nur die Originaldatei im Ordner "pictures" befindet, dann wird das
Vorschaubild als Brokenlink dargestellt. Die Vorschaubilder müssen deshalb manuell erstellt werden und im Ordner "pictures/thumbs/" hinterlegt werden.</p>
<table>

<?php

/* Hier spezifizieren wir den Pfad zu den Thumbnails (Vorschaubilder) und zu den
originalgrossen Bildern */
$path_thumb = "pictures/thumb/";
$path_large = "pictures/";

/* Dieser Counter ist notwendig um die Anzahl Bilder in einer Reihe
beim Auslesen zu zählen. */
$counter=0;

/* Folgender Befehl geht jede Datei im Ordner "pictures" durch 
und liest diese nach der Endung JPG und PNG aus. Anschliessend wird
das Ergebnis in die Variable $filename gespeichert. */
foreach (glob("pictures/*.{jpg,png}", GLOB_BRACE) as $filename) {
 
 /* Dieser Counter prüft ob der Counter auf 0 steht. Falls ja, schreibt
 er einen neuen <tr> befehl um eine neue Reihe anzufangen.*/
 if ($counter % 3==0)
   echo '<tr>';
   
   /* Da sich in der Variable $filename nun noch der Ordner
   befindet (Bsp. Ausgabe: pictures/test.jpg) ersetzen wir bei
   der Ausgabe "pictures/" mit "", also nichts. */
   $filename=str_replace("pictures/","",$filename);

   /* Mit dem <td> Befehl wird nun eine neue Spalte erstellt in welcher das Bild
   mit der Variable $filename zusammen mit dem Pfad $path_thumb ausgelesen wird.
   Zusätzlich verwenden wir noch Elegant einen Link in welchem wir auf das Originalfile
   verlinken. Hier könnte man auch eine Lightbox nutzen. */
   echo '<td valign="top" width="150px"><a href="'.$path_large,$filename .'"><img src="'. $path_thumb,$filename .'"/></a></td>';

/* Dieser Counter prüft ob der Counter das Ende der Maximalen Reihen erreicht hat.
Falls ja, schliesst er mit </tr> die Zeile um eine neue Zeile anzufangen.*/
if ($counter % 3==2)
   echo '</tr>';
++$counter;
}
?>
</table>

<span class="footer">2015 by Pascal Bernhard</span>

</body>
</html>

Gruss
Pascal
 
Oben