PHP マニュアル
前のページ |  | 次のページ

# XXXIII. Exif 関数

# 導入

exif 拡張モジュールを使用すると、画像のメタデータを扱うことが可能と なります。例えば、デジタルカメラで撮影した画像ファイルから JPEG や TIFF 画像のヘッダ情報を 読み込むために exif 関数を使用することができます。

# 要件

--enable-exif オプションを含めて PHP がコンパイル されている必要があります。exif モジュールを作成するために、追加の ライブラリは一切必要ありません。Windows ユーザは、 mbstring 拡張モジュールを有効に する必要があります。

# インストール手順

exif サポートを有効にするには、PHP の configure 時に --enable-exif を指定します。

Windows ユーザは、`php.ini` で `php_mbstring.dll` および `php_exif.dll` の両方の DLL を有効にする 必要があります。`php_mbstring.dll` DLL は、必ず `php_exif.dll` DLL より 先に 読み込まれていなければなりません。そうなるように `php.ini` で設定 してください。

# 実行時設定

`php.ini` の設定により動作が変化します。

mbstring が有効になっている場合、 Exif 拡張モジュールはユーザコメントの文字エンコーディングの変換 （Unicode と JIS）を自動的に行います。この処理が行われるのは、 指定した文字セットを使用して最初にコメントをデコードする際です。 その結果は、HTTP 出力用の文字コードにエンコード されます。

表 1. Exif 設定オプション

名前 | デフォルト | 変更の可否 | 変更履歴
--- | --- | --- | ---
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 のユーザコメントを扱うための内部文字セットを定義します。 この設定は空白にすることはできず、mbstring がサポートしている エンコーディングの中から指定します。デフォルトは UCS-2BE です。

exif.decode_unicode_intel string

  exif.decode_unicode_intel は、画像の バイトオーダーがインテル形式（リトルエンディアン）であった場合に Unicode のユーザコメントを扱うための内部文字セットを定義します。 この設定は空白にすることはできず、mbstring がサポートしている エンコーディングの中から指定します。デフォルトは UCS-2LE です。

exif.encode_jis string

  exif.encode_jis は、JIS ユーザコメントを 処理する文字セットを定義します。デフォルトは空白で、これは mbstring の内部設定を使用させることを意味します。

exif.decode_jis_motorola string

  exif.decode_jis_motorola は、画像の バイトオーダーがモトローラ形式（ビッグエンディアン）であった場合に JIS のユーザコメントを扱うための内部文字セットを定義します。 この設定は空白にすることはできず、mbstring がサポートしている エンコーディングの中から指定します。デフォルトは JIS です。

exif.decode_jis_intel string

  exif.decode_jis_intel は、画像の バイトオーダーがインテル形式（リトルエンディアン）であった場合に JIS のユーザコメントを扱うための内部文字セットを定義します。 この設定は空白にすることはできず、mbstring がサポートしている エンコーディングの中から指定します。デフォルトは JIS です。

# リソース型

リソース型は定義されていません。

# 定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

`EXIF_USE_MBSTRING` (integer)

exif_imagetype() は、関連するいくつかの組み込み定数を 一覧表示します。

前のページ | ホーム | 次のページ
user_error | 上に戻る | exif_imagetype