XXXII. Exif Functions

简介

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.

运行时配置

这些函数的行为受 php.ini 的影响。

mbstring 模块可用时,exif 支持用户注释中的 Unicode 和 JIS 字符编码的自动转换。这是通过先用指定字符集将注释解码,把结果再用另一个符合你的 HTTP 输出的字符集编码来实现的。

表格 1. Exif configuration options

名称默认值可修改范围更新记录
exif.encode_unicode"ISO-8859-15"PHP_INI_ALL自 PHP 4.3.0 起可用。
exif.decode_unicode_motorola"UCS-2BE"PHP_INI_ALL自 PHP 4.3.0 起可用。
exif.decode_unicode_intel"UCS-2LE"PHP_INI_ALL自 PHP 4.3.0 起可用。
exif.encode_jis""PHP_INI_ALL自 PHP 4.3.0 起可用。
exif.decode_jis_motorola"JIS"PHP_INI_ALL自 PHP 4.3.0 起可用。
exif.decode_jis_intel"JIS"PHP_INI_ALL自 PHP 4.3.0 起可用。
有关 PHP_INI_* 常量进一步的细节与定义参见附录 G

以下是配置选项的简要解释。

exif.encode_unicode string

exif.encode_unicode 定义了 UNICODE 用户注释被处理的字符集。默认为 ISO-8859-15,可用于大多数非亚洲国家。本设置可以为空或者必须为一个 mbstring 所支持的编码。如果为空,则使用当前 mbstring 内部使用的编码。

exif.decode_unicode_motorola string

exif.decode_unicode_motorola 定义了 Unicode 编码的用户注释的图像内部字符集,如果图像是摩托罗拉字节顺序(big-endian)的话。本设置不能为空但可以指定一个 mbstring 支持的编码列表。默认为 UCS-2BE。

exif.decode_unicode_intel string

exif.decode_unicode_intel 定义了 Unicode 编码的用户注释的图像内部字符集,如果图像是英特尔字节顺序(little-endian)的话。本设置不能为空但可以指定一个 mbstring 支持的编码列表。默认为 UCS-2LE。

exif.encode_jis string

exif.encode_jis 定义了 JIS 用户注释被处理的字符集。默认为空值,迫使函数使用当前 mbstring 使用的内部编码。

exif.decode_jis_motorola string

exif.decode_jis_motorola 定义了 JIS 编码的用户注释的图像内部字符集,如果图像是摩托罗拉字节顺序(big-endian)的话。本设置不能为空但可以指定一个 mbstring 支持的编码列表。默认为 JIS。

exif.decode_jis_intel string

exif.decode_jis_intel 定义了 JIS 编码的用户注释的图像内部字符集,如果图像是英特尔字节顺序(litle-endian)的话。本设置不能为空但可以指定一个 mbstring 支持的编码列表。默认为 JIS。

资源类型

本扩展模块未定义任何资源类型。

预定义常量

以下常量由本扩展模块定义,因此只有在本扩展模块被编译到 PHP 中,或者在运行时被动态加载后才有效。

EXIF_USE_MBSTRING (integer)

The exif_imagetype() lists several related built-in constants.

目录
exif_imagetype -- 判断一个图像的类型
exif_read_data --  从 JPEGTIFF 文件中读取 EXIF 头信息
exif_tagname -- Get the header name for an index
exif_thumbnail -- 取得嵌入在 TIFF 或 JPEG 图像中的缩略图
read_exif_data -- exif_read_data() 的别名