はじめに

PHPができることは、HTML出力を生成することだけではありません。PHP は、多くの異なるイメージ形式でイメージファイルを作成したり、操作 したりすることもできます。このイメージ形式には、GIF, PNG, JPEG, WBMP および XPM が含まれます。 さらに便利なことに、PHPはイメージストリームを直接ブラウザに出力することができます。 イメージ関数を使用するには、PHP を GD ライブラリとともにコンパイルしなければなりません。 使用したいイメージ形式によっては、GD と PHP 以外に他のライブラリも必要となる可能性があります。

PHPのイメージ関数により JPEGGIFPNGSWFTIFFJPEG2000イメージの 大きさを知ることができます。

exif 拡張モジュール を使用すると、 JPEGTIFF 画像のヘッダに保存された情報を扱うことができます。 これにより、デジタルカメラが作成したメタデータを読み込むことができます。 exif 関数は GD ライブラリは必要ありません。

注意: イメージの読み込み、書き込み、修正の機能を拡張するには、 要求の節を呼んでください。 デジタルカメラで撮影した画像のメタデータを読み込むには、 上で説明した exif 拡張モジュール が必要です。

注意: getimagesize() 関数は、GD 拡張モジュールは必要ありません。

警告

バンドルされている GD ライブラリは、メモリを確保するのに Zend メモリマネージャーを使っていますが、 システムにインストールされている GD ライブラリは使っていません。 よって、後者には memory_limit は適用されません。

GD はさまざまなフォーマットに対応しています。 GD がサポートするフォーマットの一覧と、読み書きの対応状況を含めた注意をまとめました。

GD がサポートするフォーマット
フォーマット読み込みのサポート書き込みのサポート注意
JPEGtruetrue 
PNGtruetrue 
GIFtruetrue 
XBMtruetrue 
XPMtruefalse 
WBMPtruetrue 
WebPtruetrue 
BMPtruetruePHP 7.2.0 以降で利用可能です

ほとんどのフォーマットは読み書きの両方に対応していますが、 PHP をコンパイルするときにそのフォーマットのサポートを組み込んでいるとは限りません。 GD でどのフォーマットを使えるようにコンパイルしたのかを調べるには gd_info() 関数を使いましょう。 コンパイル時の設定については、インストール方法のページを参照ください。

To Top