Introduction

PHP is not limited to creating just HTML output. It can also be used to create and manipulate image files in a variety of different image formats, including GIF, PNG, JPEG, WBMP, and XPM. Even more convenient, PHP can output image streams directly to a browser. You will need to compile PHP with the GD library of image functions for this to work. GD and PHP may also require other libraries, depending on which image formats you want to work with.

You can use the image functions in PHP to get the size of JPEG, GIF, PNG, SWF, TIFF and JPEG2000 images.

With the exif extension, you are able to work with information stored in headers of JPEG and TIFF images. This way you can read meta data generated by digital cameras. The exif functions do not require the GD library.

Note: Read the requirements section about how to expand image capabilities to read, write and modify images. To read meta data of pictures taken by digital cameras you need the above mentioned exif extension.

Note: The getimagesize function does not require the GD extension.

GD supports a varity of formats, below is a list of formats supported by GD and notes to their availability including read/write support.

Formats supported by GD
Format Read support Write support Notes
JPEG TRUE TRUE GD 1.8+
PNG TRUE TRUE  
GIF TRUE TRUE Not available between GD 1.6 and GD 2.0.28
XBM TRUE TRUE Read support as of PHP 4.0.1 and write support as of PHP 5.0.0
XPM TRUE FALSE Read support as of PHP 4.0.1, not available on Windows. Requires bundled version of GD
WBMP TRUE TRUE GD 1.8+
WebP TRUE TRUE GD 2.1+, PHP 5.5+

Despite most formats being available for both reading and writing in the above table, doesn't mean that PHP was compiled with support for them. To find out which formats that was available to GD during compilation, use the gd_info function, for more information about compiling support for one or more formats, see the installation chapter.