Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [php] Exif-Informationen werden fehlerhaft ausgelesen (https://www.delphipraxis.net/90394-%5Bphp%5D-exif-informationen-werden-fehlerhaft-ausgelesen.html)

Matze 16. Apr 2007 18:42


[php] Exif-Informationen werden fehlerhaft ausgelesen
 
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

Thorben77 16. Apr 2007 19:01

Re: [php] Exif-Informationen werden fehlerhaft ausgelesen
 
Zitat:

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.

Matze 16. Apr 2007 19:12

Re: [php] Exif-Informationen werden fehlerhaft ausgelesen
 
Hallo Thorben,

danke, doch damit klappt's leider nicht.

Edit: Auch das geht übrigens nicht:

Code:
ini_set('exif.encode_unicode', 'UTF-8');

Matze 17. Apr 2007 08:09

Re: [php] Exif-Informationen werden fehlerhaft ausgelesen
 
Andy hat mir eine mögliche Lösung genannt, die Fragezeichen zu ersetzen:

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


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 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