Mbstring must be loaded before exif. PHP setup program put them in the wrong order in the ini file and I couldn't use exif at all. Had to switch order in the ini file for it to work.
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 78. 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 G, 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
- exif_imagetype — Ermittelt den Bildtyp
- exif_read_data — Liest die EXIF-Header von JPEG oder TIFF aus.
- exif_tagname — Gibt den Header-Namen für einen Index zurück
- exif_thumbnail — Aufruf des eingebetteten Miniaturbildes eines TIFF- oder JPEG-Bildes
- read_exif_data — Alias von exif_read_data()
here the link to my exif data remover function:
http://robert-beran.de/dl.php?id=4
its written in php so you can use it to remove jpg exif data in your php projects.
greetz
Robert
exif.encode_unicode string
exif.encode_unicode defines the characterset UNICODE user comments are handled. This defaults to ISO-8859-15 which should work for most non Asian countries. The setting can be empty or must be an encoding supported by mbstring. If it is empty the current internal encoding of mbstring is used.
How come ISO-8859-15 works for most non-Asian countries? It's only for West European and does NOT work for Russian, Greek, Albanian, Polish, Czech, and so forth. The default should be 'UTF-8'
