PHPができることは、HTML出力を生成することだけではありません。PHP は、多くの異なるイメージ形式でイメージファイルを作成したり、操作 したりすることもできます。このイメージ形式には、GIF, PNG, JPEG, WBMP および XPM が含まれます。 さらに便利なことに、PHPはイメージストリームを直接ブラウザに出力することができます。 イメージ関数を使用するには、PHP を GD ライブラリとともにコンパイルしなければなりません。 使用したいイメージ形式によっては、GD と PHP 以外に他のライブラリも必要となる可能性があります。
PHPのイメージ関数により JPEG、GIF、 PNG、SWF、 TIFF、JPEG2000イメージの 大きさを知ることができます。
exif 拡張モジュール を使用すると、 JPEG や TIFF 画像のヘッダに保存された情報を扱うことができます。 これにより、デジタルカメラが作成したメタデータを読み込むことができます。 exif 関数は GD ライブラリを必要としません。
注意: イメージの読み込み、書き込み、修正の機能を拡張するには、 要求の節を呼んでください。 デジタルカメラで撮影した画像のメタデータを読み込むには、 上で説明した exif 拡張モジュール が必要です。
注意: getimagesize() 関数は、GD 拡張モジュールを必要としません。
While the bundled version of the GD library uses the Zend memory manager to allocate memory, system versions do not, so that memory_limit does not apply.
GD はさまざまなフォーマットに対応しています。 GD がサポートするフォーマットの一覧と、読み書きの対応状況を含めた注意をまとめました。
フォーマット | 読み込みのサポート | 書き込みのサポート | 注意 |
---|---|---|---|
JPEG | TRUE |
TRUE |
|
PNG | TRUE |
TRUE |
|
GIF | TRUE |
TRUE |
GD 2.0.28 および PHP 5.0.1 以降で利用可能です |
XBM | TRUE |
TRUE |
|
XPM | TRUE |
FALSE |
Windows 版での読み込みのサポートは PHP 5.3.19 で追加されました |
WBMP | TRUE |
TRUE |
|
WebP | TRUE |
TRUE |
PHP 5.5+ |
BMP | TRUE |
TRUE |
GD 2.1.0 および PHP 7.2.0 以降で利用可能です |
ほとんどのフォーマットは読み書きの両方に対応していますが、 PHP をコンパイルするときにそのフォーマットのサポートを組み込んでいるとは限りません。 GD でどのフォーマットを使えるようにコンパイルしたのかを調べるには gd_info() 関数を使いましょう。 コンパイル時の設定については、インストール方法のページを参照ください。