IPTC Daten mit PHP auslesen und nutzen
Sie erfahren, wie Sie IPTC Daten aus Bildern mit PHP auslesen und nutzen können.
Mit IPTC können Sie Textinformationen in Bilddaten integrieren. Der Standard ist insbesondere bei professionellen Fotografen weit verbreitet und wird intensiv genutzt. Alles über IPTC finden Sie im Wikipedia Artikel.
Die im Bild enthaltenen Daten können mit PHP ausgelesen und genutzt werden. Das folgende Beispiel nutzt die Funktion iptcparse die Sie in PHP nutzen können, um die Metadaten auszulesen. Es wurde teilweise von der PHP Website übernommen und aufbereitet.
$path = "image.jpg"; $info = array(); $data = array(); // Informationen des Bildes auslesen $size = getimagesize($path, $info); // IPTC auslesen $iptc = iptcparse($info['APP13']); if (is_array($iptc)) { $data['caption'] = $iptc["2#120"][0]; $data['graphic_name'] = $iptc["2#005"][0]; $data['urgency'] = $iptc["2#010"][0]; $data['category'] = $iptc["2#015"][0]; $data['supp_categories'] = $iptc["2#020"][0]; $data['spec_instr'] = $iptc["2#040"][0]; $data['creation_date'] = $iptc["2#055"][0]; $data['photog'] = $iptc["2#080"][0]; $data['credit_byline_title'] = $iptc["2#085"][0]; $data['city'] = $iptc["2#090"][0]; $data['state'] = $iptc["2#095"][0]; $data['country'] = $iptc["2#101"][0]; $data['otr'] = $iptc["2#103"][0]; $data['headline'] = $iptc["2#105"][0]; $data['source'] = $iptc["2#110"][0]; $data['photo_source'] = $iptc["2#115"][0]; }
Die Informationen werden im IPTC Block anhand von Zahlenschlüsseln integriert. Im Array $data
sind die entsprechende Werte nun mit einer sprechenden Bezeichnung hinterlegt.
Diskussion
Das ist das Standardfeld in dem die IPTC-Daten stehen. Was das genau bedeutet weiß ich leider nicht. Das Beispiel hat für meine Zwecke perfekt funktioniert und hat entsprechende IPTC-Daten ausgelesen, die ich zuvor mit Photoshop bzw. XnView vergeben hatte. Für nähere Infos solltest Du die IPTC-Seite konsultieren: http://iptc.org
Hallo – das ist ein klasse Tip, hat sofort und auf Anhieb funktioniert (und mir viel Sucherei erspart :-).
Herzlichen Dank und beste Grüße
Frank
Na das freut mich doch! Aus diesem Grund versuche ich ja diesen Blog zu pflegen.
Könnte jemand vielleicht ein beispiel zeigen, wie man das skript einbindet. Bei mir läuft das nicht – oder ich binde es falsch in eine html-seite ein…..
Ich schließe mich dem Observer an und wünsche mir ein besipiel mit einer einbindung in eine html seite. das wäre klasse. thx
[…] um die Metadaten auszulesen. Es wurde teilweise von der PHP Website übernommen und aufbereitet. view plaincopy to […]
Was bedeutet denn APP13 in “iptcparse($info[‘APP13’])” und woher bekommt man diesen Wert?