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