With the exif extension you are able to work with image meta data. For
example, you may use exif functions to read meta data of pictures taken
from digital cameras by working with information stored in the headers of
the JPEG and TIFF images.
Your PHP must be compiled in with --enable-exif.
PHP does not require any additional library for the exif module. Windows
users must also have the mbstring
extension enabled.
To enable exif-support configure PHP with
--enable-exif
Windows users must enable both the php_mbstring.dll
and php_exif.dll DLL's in php.ini. The
php_mbstring.dll DLL must be loaded
before the php_exif.dll DLL so
adjust your php.ini accordingly.
The behaviour of these functions is affected by settings in php.ini.
Exif supports automatically conversion for Unicode and JIS
character encodings of user comments when module
mbstring
is available. This is done by first decoding the comment
using the specified characterset. The result is then encoded
with another characterset which should match your
HTTP output.
Table 1. Exif configuration options
Name | Default | Changeable | Changelog |
---|
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL | Available since PHP 4.3.0. |
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL | Available since PHP 4.3.0. |
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL | Available since PHP 4.3.0. |
exif.encode_jis | "" | PHP_INI_ALL | Available since PHP 4.3.0. |
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL | Available since PHP 4.3.0. |
exif.decode_jis_intel | "JIS" | PHP_INI_ALL | Available since PHP 4.3.0. |
For further details and definitions of the
PHP_INI_* constants, see the
Appendix G.
Here's a short explanation of
the configuration directives.
- 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.
- exif.decode_unicode_motorola
string
exif.decode_unicode_motorola defines
the image internal characterset for Unicode encoded user
comments if image is in motorola byte order (big-endian).
This setting cannot be empty but you can specify a list
of encodings supported by mbstring. The default is UCS-2BE.
- exif.decode_unicode_intel
string
exif.decode_unicode_intel defines
the image internal characterset for Unicode encoded user
comments if image is in intel byte order (little-endian).
This setting cannot be empty but you can specify a list
of encodings supported by mbstring. The default is UCS-2LE.
- exif.encode_jis
string
exif.encode_jis defines the
characterset JIS user comments are handled.
This defaults to an empty value which forces
the functions to use the current internal encoding
of mbstring.
- exif.decode_jis_motorola
string
exif.decode_jis_motorola defines
the image internal characterset for JIS encoded user
comments if image is in motorola byte order (big-endian).
This setting cannot be empty but you can specify a list
of encodings supported by mbstring. The default is JIS.
- exif.decode_jis_intel
string
exif.decode_jis_intel defines
the image internal characterset for JIS encoded user
comments if image is in intel byte order (little-endian).
This setting cannot be empty but you can specify a list
of encodings supported by mbstring. The default is JIS.
This extension has no resource types defined.
The constants below are defined by this extension, and
will only be available when the extension has either
been compiled into PHP or dynamically loaded at runtime.
The exif_imagetype() lists several related built-in
constants.