PHP не ограничен созданием только HTML-страничек. Он также позволяет создавать и работать с файлами изображений в различных форматах, включая GIF, PNG, JPEG, WBMP, и XPM. Что ещё удобнее, PHP разрешает выводить изображение в потоке непосредственно в браузер. Для этого необходимо скомпилировать PHP с графическим модулем GD, который содержит функции для работы с изображениями. Для работы с модулем GD могут потребоваться другие модули (в зависимости от формата изображений, с которыми потребовалось работать).
Функции работы с изображениями в PHP помогают получать размер изображений следующих форматов: JPEG, GIF, PNG, SWF, TIFF и JPEG2000.
С модулем EXIF доступна работа с информацией, которуюх хранят заголовки JPEG- и TIFF-изображений. Таким способом читают метаданные, которые сгенерировали цифровые фотокамеры. Модуль EXIF не требуется библиотеке GD.
Замечание: Раздел требований рассказывает, как расширить возможности чтения, записи и модификации изображений. Чтобы читать метаданные изображений с цифровых фотокамер, необходим уже упомянутый модуль EXIF.
Замечание: Функция getimagesize() работает без модуля GD.
Тогда как поставляемая с PHP версия модуля GD использует менеджер памяти Zend для распределения памяти, системная версия этого не делает, поэтому директива memory_limit не учитывается.
Модуль GD поддерживает ряд форматов. Ниже приводится список этих форматов и пометки о доступности, включая поддержку чтения и записи.
| Формат | Поддержка чтения | Поддержка записи | Примечания |
|---|---|---|---|
| JPEG | true |
true |
|
| PNG | true |
true |
|
| GIF | true |
true |
|
| XBM | true |
true |
|
| XPM | true |
false |
|
| WBMP | true |
true |
|
| WebP | true |
true |
|
| BMP | true |
true |
Доступен с PHP 7.2.0 |
Несмотря на открытость доступа к чтению и записи большей части форматов в приведённой таблице, это не означает, что PHP собрали с поддержкой этих форматов. Чтобы узнать, какие форматы включили для модуля GD при сборке, пользуются функцией gd_info(). Дополнительную информацию даёт раздел об установке.