PHP 手册
后退 |  | 前进

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

后退 | 起点 | 前进
user_error | 上一级 | exif_imagetype