EXIF-Daten mit PHP aus Bildern auslesen

bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.

Kommentare

  
  1. tboley sagt:

    Problematisch wird es, wenn die Bilder vorher mit der GD Library in PHP bearbeitet wurden - dann gehen die EXIF-Information verloren.

  2. Jakob sagt:

    Ich habe versucht noch ein anderen Exif-Tag auslesen zu lassen, namentlich 'Software'. Erfolglos, aber. Ich habe es mit

    if (isset($exif["EXIF"]["Software"])) {
    print __(' · Software:') . " {$exif["EXIF"]["Software"]}";
    }

    versucht, aber, wie man so schön sagt, da kommt nüscht. Ich bin mir 99%ig sicher dass der Tag auch 'Software' heißt, hab ihn aus der Exif-pdf-Datei die du neulich verlinkt hast. Wie müsste ich den Code denn ändern damit es angezeigt wird? Danke im Voraus.
    Jakob

  3. Engel sagt:

    Hey Frank, ist ein sehr interessantes Thema. Habe auch auf meinem neuen Blog (Online seit gestern früh) mal was dazu geschrieben und auf dein Beitrag verwiesen.

    Grüße dich auch gleich mal mit diesem Kommentar. Hast mir ja schon des öfteren aus der Patsche in Sachen WordPress geholfen. Und bin nun auch wieder aktiv unter den Bloggern 😉

    lg Engel

  4. Tony sagt:

    Interessant wäre es, wenn man auch individuelle EXIF-Daten in dem Bild einfügen könnte. Wäre das möglich?

  5. Dazu müsste man die Exif-Daten des Bildes erweitern. Einige Tools können das, da weis ich aber keinen Tipp, da ich das Ziel nie hatte. Adobe Lightroom kann das eventuell, z.B. Bild mit Tags versehen. Das Auslesen dieser Daten im Theme müsste dann in der functions.php ergänzt werden.

  6. Code ist erstmal korrekt. Hast du mal alle Werte in der Schleife ausgeben lassen, vielleicht ist der Wert nicht vorhanden? Ansonsten prüfe ihn mit einem Desktoptool.

  7. Jakob sagt:

    Ich bin mir nicht ganz sicher was du mit "alle Werte" meinst. Alle möglichen Exif-Werte? Und: der Wert ist auf jeden Fall da, ich hab ihn mit drei verschiedenen Desktop-Tools gecheckt. Er wird auch nicht beim Upload 'fallengelassen' oder gelöscht, denn selbst wenn ich das Bild nochmal runterlade sind alle Exif-Daten, inkl. "Software" noch da.

  8. @Jakob: Im ersten Codeschnipsel habe ich eine Möglichkeit dargestellt, wie man alle enthaltenen Werte und Schlüssel darstellen kann. Damit kann man in jedem Fall erst einmal auf Vorhanden prüfen. Eventuell könnte dann noch ein Fehler im Code vorliegen.

  9. Jakob sagt:

    Ah natürlich, das war ja auch schon in der functions.php integriert, hab ich wohl übersehen. Habe es gerade ausprobiert, auch da wird 'software' nicht angezeigt. Was wirklich komisch ist, denn der Tag ist nunmal vorhanden, und auch "ausgefüllt".
    Dennoch fiel mir noch etwas anderes auf: bei bestimmten Tags schien es Fehler bzgl. UTF-8 zu geben. Manche Werte wurde als pure Abfolge von diesen "Rauten mit Fragezeichen" dargestellt; vornehmlich die die irgendwie manuell geändert werden konnten ("EXIF.MakerNote", "EXIF.UserComment", "Firmware Version").

  10. Jakob sagt:

    Und gerade sah ich noch etwas: m.E. hast du die möglichen Values beim Flash falschrum gesetzt; ich denke es sollte

    $fbflash = (bindec($exif["EXIF"]["Flash"]) ? "Off" : "On");

    heißen. Zumindest habe ich das bei meinen Bildern so gesehen. Bei denen die definitiv einen Blitz benutzten stand er auf 'Off', bei anderen Tagsüber-Bildern auf 'On'.

  11. Sollte eigentlich richtig sein. Entscheidend ist jedoch, was die Schleife ausgibt. Denn dort sieht man alle Schlüssel und Werte. Dementsprechend kann die Formatierung angepasst werden.
    Wer der Schlüssel nicht in der Schleife ausgegeben wird, dann ist er nicht zum Auslesen da. Es sei denn denn, er gehört nicht zu den EXIF-Daten. Im Beispiel lese ich ja EXIF- und IFD0-Daten aus.

  12. Matthias sagt:

    Wie kann ich jetzt festellen, ob das exif Array Daten hatt oder nicht. Wenn keine Exif Daten da sind dann soll eine Meldung erscheinen.

    Mfg Matthias

  13. Am besten mit einem Desktop-Tool, mal suchen, da gibt es Unmengen.

    Alternativ kannst du die index.php anpassen, Zeile 57:

    			} else {
    				echo 'Keine Datei vorhanden!';
    			}
    

    für die Prüfung, ob die Datei vorhanden ist und dann kann jede if-Abfrage (if($exif . . .) für EXIF-Daten mit einer else-Antwort versehen werden.

© 2016, since 2005 bueltge.de [by:ltge.de] · Theme is built by ThemeShift