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.

Portrait Tobias Redmann

Über den Autor

Tobias Redmann ist Leiter Online Marketing und Produktentwicklung bei Ad On Multimedia Advertising in Potsdam. Er beschäftigt sich beruflich und privat mit verschiedenen Web-Themen - u.a. Website-Optimierung, Online-Marketing und Web-Technologien.

6 Comments

  1. Andreas sagt:

    Was bedeutet denn APP13 in “iptcparse($info['APP13'])” und woher bekommt man diesen Wert?

  2. Tobias Redmann sagt:

    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

  3. Frank Trabold sagt:

    Hallo - das ist ein klasse Tip, hat sofort und auf Anhieb funktioniert (und mir viel Sucherei erspart :-).

    Herzlichen Dank und beste Grüße
    Frank

  4. Tobias Redmann sagt:

    Na das freut mich doch! Aus diesem Grund versuche ich ja diesen Blog zu pflegen.

  5. observer sagt:

    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…..

  6. bernd b sagt:

    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

Leave a Reply