AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [php] Exif-Informationen werden fehlerhaft ausgelesen
Thema durchsuchen
Ansicht
Themen-Optionen

[php] Exif-Informationen werden fehlerhaft ausgelesen

Ein Thema von Matze · begonnen am 16. Apr 2007 · letzter Beitrag vom 17. Apr 2007
Antwort Antwort
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

[php] Exif-Informationen werden fehlerhaft ausgelesen

  Alt 16. Apr 2007, 18:42
Hi,

da ich bei meinem PHP-Fotoalbum die Bilder aus den Verzeichnissen auslese und erst dynamisch beim Klick auf ein Thumbnail ein entsprechender Datenbankeintrag erstellt wird, möchte ich eine Bildbeschreibung und den Name des Fotografen in den Exif-Infos der JPG-Dateien ablegen. Das klappt soweit auch ganz gut, nur mit dem Auslesen habe ich Probleme.

Die Exif-Infos ermittel ich mit exif_read_data().

Die Ausgabe sieht wie folgt aus (ich kopiere mal alles hier hinein, da ich nicht weiß, ob das als Anhang auch so dargestellt werden würde):

Code:
Array
(
    [FILE] => Array
        (
            [FileName] => PICT1828.JPG
            [FileDateTime] => 1176740706
            [FileSize] => 173759
            [FileType] => 2
            [MimeType] => image/jpeg
            [SectionsFound] => ANY_TAG, IFD0, THUMBNAIL, EXIF, WINXP
        )

    [COMPUTED] => Array
        (
            [html] => width="800" height="600"
            [Height] => 600
            [Width] => 800
            [IsColor] => 1
            [ByteOrderMotorola] => 0
            [ApertureFNumber] => f/2.8
            [UserComment] =>
            [UserCommentEncoding] => ASCII
            [Thumbnail.FileType] => 2
            [Thumbnail.MimeType] => image/jpeg
        )

    [IFD0] => Array
        (
            [Make] => Konica Minolta Camera, Inc.
            [Model] => DiMAGE A2
            [Orientation] => 1
            [XResolution] => 72/1
            [YResolution] => 72/1
            [ResolutionUnit] => 2
            [Software] => DiMAGE A2 Ver.1.00 
            [DateTime] => 2007:04:14 06:43:33
            [YCbCrPositioning] => 1
            [Exif_IFD_Pointer] => 680
            [SubjectLocation] => Array
                (
                    [0] => 1368
                    [1] => 1272
                    [2] => 320
                    [3] => 384
                )

[color=#ff0000]           [Title] => D�a�m�p�f�l�o�k���
            [Comments] => L�o�k� �b�l�a�b�l�a�.�.�.���
            [Author] => M�a�t�t�h�i�a�s� �H�i�e�l�s�c�h�e�r���
            [Subject] => N�e�u�s�c�h�w�a�n�s�t�e�i�n���[/color]
            [CustomRendered] => 0
            [ExposureMode] => 2
            [WhiteBalance] => 0
            [DigitalZoomRatio] => 0/1
            [FocalLengthIn35mmFilm] => 33
            [SceneCaptureType] => 0
            [GainControl] => 0
            [Contrast] => 0
            [Saturation] => 0
            [Sharpness] => 0
            [SubjectDistanceRange] => 3
            [UndefinedTag:0xC4A5] => PrintIM�0250��������������.����������   ��'�� ��'��—��'��°��'����'��^��'���‹��'��Ë��'��å��'
        )

    [THUMBNAIL] => Array
        (
            [Compression] => 6
            [Orientation] => 1
            [XResolution] => 72/1
            [YResolution] => 72/1
            [ResolutionUnit] => 2
            [JPEGInterchangeFormat] => 38450
            [JPEGInterchangeFormatLength] => 3777
            [YCbCrPositioning] => 1
        )

    [EXIF] => Array
        (
            [ExposureTime] => 1/25
            [FNumber] => 28/10
            [ExposureProgram] => 2
            [ISOSpeedRatings] => 64
            [ExifVersion] => 0221
            [DateTimeOriginal] => 2007:04:14 06:43:33
            [DateTimeDigitized] => 2007:04:14 06:43:33
            [ComponentsConfiguration] => �
            [BrightnessValue] => 33/10
            [ExposureBiasValue] => 0/10
            [MaxApertureValue] => 300/100
            [MeteringMode] => 5
            [LightSource] => 0
            [Flash] => 16
            [FocalLength] => 2192/256
            [MakerNote] => � ������MLT0������p����`���Œ����@��eŒ�


[i][b]... GANZ VIEL SOLCHES ZEUGS ^^ ...[/b][/i]


g}“{bL6z¾†®®®®�������

            [UserComment] => ASCII�����������������������������������������������������������
            [FlashPixVersion] => 0100
            [ColorSpace] => 1
            [ExifImageWidth] => 800
            [ExifImageLength] => 600
        )

    [WINXP] => Array
        (
            [Title] => Dampflok
            [Comments] => Lok blabla...
            [Author] => Matthias Hielscher
            [Subject] => Neuschwanstein
        )

)
Auf php.net steht, dass da Dinge der XP-Section UTF-8 kodiert seien, doch mir geht's um das rot Dargestellte. Das meiste wird richtig ausgelesen, nur die 4 Werte, die ich benötige sind so verkorkst. Ich möchte aber nicht meine ganze Webseite UTF-8 kodieren, denn wie ich mich kenne wird dann gar nichts mehr korrekt dargestellt. *g*

Was kann ich da machen? Gibt's da evtl. eine UTF8toISO() Funktion oder ähnliches?
Das komische ist, dass diese Werte lesbar sind, nur zwischen jedem Buchstaben ist so ein Sonderzeichen. Die XP-Section möchte ich übrigens nicht nutzen.

Gruße,
Matze
  Mit Zitat antworten Zitat
Thorben77

Registriert seit: 22. Okt 2004
359 Beiträge
 
#2

Re: [php] Exif-Informationen werden fehlerhaft ausgelesen

  Alt 16. Apr 2007, 19:01
Zitat von Matze:
Gibt's da evtl. eine UTF8toISO() Funktion oder ähnliches?
Aber sicher: utf8_decode()

Aber ob das dein Problem löst – keine Ahnung.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: [php] Exif-Informationen werden fehlerhaft ausgelesen

  Alt 16. Apr 2007, 19:12
Hallo Thorben,

danke, doch damit klappt's leider nicht.

Edit: Auch das geht übrigens nicht:

Code:
ini_set('exif.encode_unicode', 'UTF-8');
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: [php] Exif-Informationen werden fehlerhaft ausgelesen

  Alt 17. Apr 2007, 08:09
Andy hat mir eine mögliche Lösung genannt, die Fragezeichen zu ersetzen:

Code:
$string = preg_replace('#\x00#i', '', $string)
Danke nochmals.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz