downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

exif_imagetype> <user_error
[edit] Last updated: Mon, 01 Nov 2010

view this page in

XXXIV. Exif 関数

導入

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

要件

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

インストール手順

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

Windows ユーザは、php.iniphp_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_ALLPHP 4.3.0 以降で有効です。
exif.decode_unicode_motorola"UCS-2BE"PHP_INI_ALLPHP 4.3.0 以降で有効です。
exif.decode_unicode_intel"UCS-2LE"PHP_INI_ALLPHP 4.3.0 以降で有効です。
exif.encode_jis""PHP_INI_ALLPHP 4.3.0 以降で有効です。
exif.decode_jis_motorola"JIS"PHP_INI_ALLPHP 4.3.0 以降で有効です。
exif.decode_jis_intel"JIS"PHP_INI_ALLPHP 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() は、関連するいくつかの組み込み定数を 一覧表示します。

目次
exif_imagetype -- イメージの型を定義する
exif_read_data --  JPEG あるいは TIFF から EXIF ヘッダを読み込む
exif_tagname -- インデックスに対応するヘッダ名を取得する
exif_thumbnail -- TIFF あるいは JPEG 形式の画像に埋め込まれたサムネイルを取得する
read_exif_data -- exif_read_data() のエイリアス


exif_imagetype> <user_error
[edit] Last updated: Mon, 01 Nov 2010
 
add a note add a note User Contributed Notes Exif 関数
phedberg at gmail dot com 19-Jun-2007 01:22
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.
webmaster at robert-beran dot de 30-Nov-2006 02:07
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
23-Dec-2004 02:55
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'

 
show source | credits | sitemap | contact | advertising | mirror sites