PHP Handbuch
Zurück |  | Weiter

# XXXIV. 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.

Tabelle 1. 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 Anhang H.

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.

Zurück | Zum Anfang | Weiter
user_error | Nach oben | exif_imagetype