Forum und email

Exif Funktionen

Einführung

Die Exif-Erweiterung ermöglicht es mit Metadaten von Bildern zu arbeiten. Z.B. kann man die Exif-Funktionen nutzen, um die Metadaten von Bildern auszulesen, die mit Digitalkameras gemacht wurden, indem man die Header der JPEG- und TIFF-Bilder ausliest.

Anforderungen

PHP muss dafür mit --enable-exif kompiliert werden. PHP braucht keine weiteren Bibliotheken für das Exif-Modul. Windows-Nutzer müssen zusätzlich noch die mbstring-Erweiterung aktiviert haben.

Installation

Um PHP mit Exif-Unterstützung nutzen zu können, muss man PHP mit der Option --enable-exif kompilieren.

Windows-Nutzer müssen die DLLs php_mbstring.dll und php_exif.dll in der php.ini aktivieren. Die php_mbstring.dll muss vor der php_exif.dll geladen werden. Die php.ini muss entsprechend angepasst werden.

Laufzeit Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Exif unterstützt eine automatische Konvertierung von Unicode und JIS kodierten Zeichen in den Benutzerkommentaren, wenn das Modul mbstring verfügbar ist. Dies wird gemacht, indem zuerst die Kommentare dekodiert werden. Das Ergebnis ist dann wiederrum kodiert mit einem Zeichensatz, der mit der HTTP-Ausgabe übereinstimmen sollte.

Exif-Konfigurationsoptionen
Name Standard Einstellbar in Änderungen
exif.encode_unicode "ISO-8859-15" PHP_INI_ALL verfügbar seit PHP 4.3.0.
exif.decode_unicode_motorola "UCS-2BE" PHP_INI_ALL verfügbar seit PHP 4.3.0.
exif.decode_unicode_intel "UCS-2LE" PHP_INI_ALL verfügbar seit PHP 4.3.0.
exif.encode_jis "" PHP_INI_ALL verfügbar seit PHP 4.3.0.
exif.decode_jis_motorola "JIS" PHP_INI_ALL verfügbar seit PHP 4.3.0.
exif.decode_jis_intel "JIS" PHP_INI_ALL verfügbar seit PHP 4.3.0.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im php.ini Einstellungen.

Hier eine kurze Erklärung der Konfigurationsoptionen:

exif.encode_unicode string

exif.encode_unicode definiert, wie der Zeichensatz UNICODE in den Benutzerkommentaren behandelt wird. Der Standardwert ist ISO-8859-15, welcher für die meisten nicht-asiatischen Länder funktionieren sollte. Der Wert darf leer sein oder muss eine Kodierung enthalten, die von mbstring unterstützt wird. Ist der Wert leer, wird die aktuelle, interne Kodierung von mbstring benutzt.

exif.decode_unicode_motorola string

exif.decode_unicode_motorola definiert den internen Zeichensatz des Bildes für Unicode kodierte Benutzerkommentare, sollte das Bild in der Motorola-Bytefolge (big-endian) sein. Dieser Wert darf nicht leer sein, sondern kann mit einer Liste von Kodierungen gefüllt werden, die von mbstring unterstützt werden. Der Standard ist UCS-2BE.

exif.decode_unicode_intel string

exif.decode_unicode_intel definiert den internen Zeichensatz des Bildes für Unicode kodierte Benutzerkommentare, sollte das Bild in der Intel-Bytefolge (little-endian) sein. Dieser Wert darf nicht leer sein, sondern kann mit einer Liste von Kodierungen gefüllt werden, die von mbstring unterstützt werden. Der Standard ist UCS-2LE.

exif.encode_jis string

exif.encode_jis definiert den Zeichensatz mit dem JIS Benutzerkommentare behandelt werden. Der Standard ist leer und zwingt die Funktionen dazu die aktuelle, interne Kodierung von mbstring zu nutzen.

exif.decode_jis_motorola string

exif.decode_jis_motorola definiert den internen Zeichensatz des Bildes für JIS kodierte Benutzerkommentare, sollte das Bild in der Motorola-Bytefolge (big-endian) sein. Dieser Wert darf nicht leer sein, sondern kann mit einer Liste von Kodierungen gefüllt werden, die von mbstring unterstützt werden. Der Standard ist JIS.

exif.decode_jis_intel string

exif.decode_jis_intel definiert den internen Zeichensatz des Bildes für JIS kodierte Benutzerkommentare, sollte das Bild in der Intel-Bytefolge (little-endian) sein. Dieser Wert darf nicht leer sein, sondern kann mit einer Liste von Kodierungen gefüllt werden, die von mbstring unterstützt werden. Der Standard ist JIS.

Resource Typen

Diese Erweiterung definiert keine Resource-Typen.

Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

EXIF_USE_MBSTRING (integer)

exif_imagetype() listet einige eingebaute Konstanten auf.

Inhaltsverzeichnis