www.PHP-Kurs.com

PHP lernen für Einsteiger
und Fortgeschrittene

PHP-Tutorial mit Videos

Sie befinden sich: Startseite » PHP für Fortgeschrittene » Beispiel Bildergalerie erstellen

mit PHP eine Bildergalerie erstellen: EXIF/IPTC auslesen

Im Folgenden wollen wir eine automatische Bildergalerie erstellen. Dazu benötigen wir als Vorkenntnisse das Kapitel über Verzeichnis einlesen und das vorhergehende Kapitel über Arrays.

Im ersten Schritt lesen wir ein Verzeichnis aus und speichern alle gefundenen Dateinamen der Bilder in einem Array ab.

PHP-Quellcode: Verzeichnis auslesen und in Array speichern
<?php
$verzeichnis = ".";

if (is_dir($verzeichnis))
{
    if ( $handle = opendir($verzeichnis) )
    {
        while (($file = readdir($handle)) !== false)
        {
            echo "<li>filename: $file ";
            echo "<li>filetype: ". filetype( $file) . "<hr>\n";
            // Test, ob ein Bilder (Endung .jpg) vorliegt
            if ( filetype( $file) == "file"
                 AND substr( $file, -4) == ".jpg")
            {
                // Dateiname wird im Array bilderdateinamen 
                // gespeichert
                $bilderdateinamen[] = $file;
            }
        }
        closedir($handle);
    }
}

// Ausgabe der Bilderdateinamen zur Kontrolle
echo "<pre>";
print_r ( $bilderdateinamen );
?>

Im nächsten Schritt benötigen wir Bilder - nehmen Sie folgenden Bilder zum Testen (auf jeden Fall diese für den Aha-Effekt für die automatische Beschriftung ;) Folgende Bilder werden hier verkleinert dargestellt:

Die Bilder stammen von mir (und können deshalb auch zum Testen eingesetzt werden) und weitere Bilder zum Thema Urlaub in und um Las Vegas können auf http://www.las-vegas-urlaub.com angesehen werden.

Testbild Löwen für das Programm Bildergalerie erstellen

Testbild Sonnenuntergang für das Programm Bildergalerie erstellen

Testbild Hoover Damm für das Programm Bildergalerie erstellen

Die Bilder können durch Anklicken mit der rechten Maustaste auf der eigenen Festplatte gespeichert werden. Die müssen im selben Verzeichnis gespeichert werden, wo auch das Programm zum Bildergalerie gespeichert ist!

PHP-Quellcode: Ausgabe der Bilder mit Zusatzinformationen
<?php
$verzeichnis = ".";

if (is_dir($verzeichnis))
{
    if ( $handle = opendir($verzeichnis) )
    {
        while (($file = readdir($handle)) !== false)
        {
            echo "<li>filename: $file ";
            echo "<li>filetype: ". filetype( $file) . "<hr>\n";
            // Test, ob ein Bilder (Endung .jpg) vorliegt
            if ( filetype( $file) == "file"
                 AND substr( $file, -4) == ".jpg")
            {
                // Dateiname wird im Array bilderdateinamen
                // gespeichert
                $bilderdateinamen[] = $file;
            }
        }
        closedir($handle);
    }
}

// Ausgabe der Bilderdateinamen zur Kontrolle
echo "<pre>";
print_r ( $bilderdateinamen );
echo "<hr>";

foreach ( $bilderdateinamen AS $dateiname ) {
    echo "Dateiname: $dateiname:\n";

    $exif = exif_read_data($dateiname, ANY_TAG, true, true);

    // print_r ($exif);

    echo '<h2>'. $exif['WINXP']['Title'] . '</h2>';
    echo '<img src="'. $dateiname . '"';
    echo $exif['COMPUTED']['html'];
	echo ' alt="';
    echo $exif['WINXP']['Title'];
    echo '"> ';

    echo '<hr>';
}
?>

Bestimmt kommt gerade die Frage auch, woher um Gottes willen der Bildtitel kommt, der nichts mit dem Dateinamen zu tun hat? Der ist in der Bilddatei mit integriert. Dies ist einfach möglich durch IPTC und EXIF. Diese Daten lesen wird im unserem PHP-Programm zum Bildergalerie erstellen aus. Es geschieht über exif_read_data und die gewonnenen Daten wandern in das Array $exif. Lassen Sie sich einfach mal über print_r den Inhalt des Array $exif anzeigen!

Um Titel und Verschlagwortung in die Bilder zu integrieren, empfiehlt sich Windows (wie im nächsten Bild zu sehen ist) oder auch verschiedene andere Programme können dazu hergenommen werden, wie beispielsweise das bekannte IrfanView.

Bilder mit Titel versehen, der in der Bilddatei gespeichert wird - durch IPTC und EXIF einfach möglich

Wenn Sie einen Fehler finden, bitte mitteilen (egal ob Schreibfehler oder inhaltlicher Fehler).

Mit Maus fehlerhafte Stelle markieren und übernehmen mit folgendem Button:



(kann angegeben werden)

Nach Absenden kommt hier Feedback! Bitte nicht doppelt absenden. Danke.

Bitte unterstützen Sie dieses Projekt

Sie können dieses Projekt in verschiedenen Formen unterstützen - wir würden uns freuen und es würde uns für weitere Inhalte motivieren :).

unsere Videos bestellen

Unsere Videos und eBooks bestellen.

Spenden

Sie können uns eine Spende über PayPal zukommen lassen.

Weiterempfehlungen

Empfehlen Sie es weiter - wir freuen uns immer über Links und Facebook-Empfehlungen.

Bücher über Amazon

Bestellen Sie Bücher über folgende Links bei Amazon:

Fehler melden

Vielen Dank für Ihre Hilfe