Lampe16: Kommentar in exif-Daten als array formatieren

Guten Morgen!
Wenn ich z.B. in IrfanView einen Kommentar ccc zu einer jpg-Datei speichere und per php mit exif_read_data() auslese und mit print_r() ansehe, wird der Kommentar als Array ( [0] => ccc ) abgebildet, egal wie ich den Kommentar strukturiere. Ich möchte ihn aber so verfassen, dass es außer dem 0. auch ein 1. und 2. Element gibt.
Wie geht so etwas?
Anführungszeichen, Kommata als Separatoren und Zeilenvorschübe waren wirkungslos: Es gibt immer nur das Element [0].
Gruß, Lampe16

  1. Hallo,

    Wenn ich z.B. in IrfanView einen Kommentar ccc zu einer jpg-Datei speichere und per php mit exif_read_data() auslese und mit print_r() ansehe, wird der Kommentar als Array ( [0] => ccc ) abgebildet, egal wie ich den Kommentar strukturiere.

    so wie ich die Beschreibung von exif_read_data() verstehe, gibt die Funktion ein Array mit *allen* EXIF-Einträgen zurück, oder zumindest mit allen Einträgen eines Typs. Die Reihenfolge (und somit der Index) ist aber nicht vorbestimmt.

    Ich möchte ihn aber so verfassen, dass es außer dem 0. auch ein 1. und 2. Element gibt.
    Wie geht so etwas?

    Vermutlich, indem du im Grafikprogramm mehrere separate Comment-Felder im EXIF-Header anlegst. Ich habe das aber noch nie verwendet und kann daher nur mutmaßen.

    Ciao,
     Martin

    --
    Chef zum Bewerber: Es gibt zwei Dinge, auf die ich allergrößten Wert lege. Das eine ist Sauberkeit! Haben Sie übrigens die Schuhe auf der Matte abgetreten? - Ja, selbstverständlich. - Gut. Das andere ist uneingeschränkte Ehrlichkeit. Übrigens, draußen liegt gar keine Fußmatte.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. so wie ich die Beschreibung von exif_read_data() verstehe, gibt die Funktion ein Array mit *allen* EXIF-Einträgen zurück, oder zumindest mit allen Einträgen eines Typs. Die Reihenfolge (und somit der Index) ist aber nicht vorbestimmt.

      Ja, so ist es. Der ausgegebene Array ist assoziativ, und die meisten Plätze sind mit einfachen Zahlenwerten oder Zeichenketten belegt (z.B. [FileSize] bzw. [FileName]). Der Platz [COMMENT] ist dagegen als Array eingerichtet - und davon möchte ich Gebrauch über das Element [0] hinaus machen. Als Workaround könnte ich natürlich den Kommentar mit Trennzeichen versehen und dann das Element [0], in dem alles stehen würde, per explode() zerlegen. Aber zuerst versuche ich noch etwas zu lernen.

      Vermutlich, indem du im Grafikprogramm mehrere separate Comment-Felder im EXIF-Header anlegst. Ich habe das aber noch nie verwendet und kann daher nur mutmaßen.

      Ja, das ist meine Absicht, nach deren Lösung ich frage.

      Gruß, Lampe16

      1. Hallo,

        ich habe den Eindruck, dass wir uns missverstehen.

        Vermutlich, indem du im Grafikprogramm mehrere separate Comment-Felder im EXIF-Header anlegst. Ich habe das aber noch nie verwendet und kann daher nur mutmaßen.
        Ja, das ist meine Absicht, nach deren Lösung ich frage.

        ich kenne IrfanView nur vom Hörensagen, aber wenn du damit *ein* EXIF-Comment-Feld anlegen kannst, warum dann nicht auch mehrere? Nein, nicht ein Feld mit mehreren Werten, sondern tatsächlich mehrere Felder mit je einem Wert. Geht das nicht?

        Ciao,
         Martin

        --
        Soso, der Klügere gibt nach.
        Aber warum sollen sich immer nur die Dummen durchsetzen?  .oO(?)
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. ich kenne IrfanView nur vom Hörensagen, aber wenn du damit *ein* EXIF-Comment-Feld anlegen kannst, warum dann nicht auch mehrere? Nein, nicht ein Feld mit mehreren Werten, sondern tatsächlich mehrere Felder mit je einem Wert. Geht das nicht?

          Ciao,
          Martin

          Hallo Martin,
          um in IrfanView einen Kommentar zu erzeugen, geht man mit Image>Information>Comment in ein Texteingabefeld. Was auch immer ich da eingebe, zeigt php als Element [0] einen Arrays. Da es ein Array ist, denke ich, die Eingabe in das Feld mit einer bestimmten Syntax könnte php auch dazu veranlassen, weitere Elemente zu sehen.

          »»tatsächlich mehrere Felder mit je einem Wert
          Nein, das geht nicht.

          Aber wie gesagt, ich bin jetzt reif für den erwähnten Workaround.

          Gruß,Lampe16

      2. Hi,

        Der Platz [COMMENT] ist dagegen als Array eingerichtet - und davon möchte ich Gebrauch über das Element [0] hinaus machen.

        Ich habe jetzt gerade keine Lust, tiefer in die EXIF-Spezifikation einzusteigen - aber die Beschreibung zum $arrays-Parameter von exif_read_data,

        “Specifies whether or not each section becomes an array. The sections COMPUTED, THUMBNAIL, and COMMENT always become arrays as they may contain values whose names conflict with other sections.”

        lässt zumindest vermuten, dass das von dir beobachtete Verhalten möglicherweise gar nicht bedeutet, dass EXIF ein „Array“ von Kommentaren vorsieht, sondern dass es viel eher nur den Eigenarten von PHP geschuldet ist, dass die Funktion dir den COMMENT als Array-Datentyp zur Verfügung stellt ...

        MfG ChrisB

        --
        The most exciting phrase to hear in science, the one that heralds new discoveries, is not “Eureka!” but “That's funny...” [Isaac Asimov]