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 conveniently, 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.
Caution
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 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 |
|
PNG |
true |
true |
|
GIF |
true |
true |
|
XBM |
true |
true |
|
XPM |
true |
false |
|
WBMP |
true |
true |
|
WebP |
true |
true |
|
BMP |
true |
true |
Available as of PHP 7.2.0 |
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.