Функции Язык программирования PHP

imagegif

(PHP 3, PHP 4)

imagegif - выводит изображение в браузер или файл.

Описание

int imagegif (resource image [, string filename])

imagegif() создаёт GIF-файл filename из изображения image. Аргумент image возвращается из функции imagecreate().

Формат изображения будет GIF87a, если только изображение не было сделано прозрачным функцией imagecolortransparent(), - тогда формат будет GIF89a.

Аргумент filename является необязательным и, если опущен, сырой поток изображения будет выведен напрямую. Отправляя image/gif content-type с помощью header(), вы можете создать PHP-скрипт, который выводит GIF-изображения напрямую.

Примечание: поскольку вся поддержка GIF была из GD-библиотеки версии 1.6, это функция не будет доступна, если вы используете эту версию GD-библиотеки.

Следующий фрагмент кода позволяет создать более переносимые приложения PHP с помощью автоопределения типа поддерживаемой GD. Замените последовательность header ("Content-type: image/gif"); imagegif ($im); более гибкой последовательностью:
<?php 
if (function_exists("imagegif")) { header ("Content-type: image/gif"); imagegif 
($im); } elseif (function_exists("imagejpeg")) { header ("Content-type: image/jpeg"); 
imagejpeg ($im, "", 0.5); } elseif (function_exists("imagepng")) { header ("Content-type: 
image/png"); imagepng ($im); } elseif (function_exists("imagewbmp")) { header 
("Content-type: image/vnd.wap.wbmp"); imagewbmp ($im); } else die("No image support 
in this PHP server"); ?>

Примечание: в версиях 3.0.18 и 4.0.2 вы можете использовать функцию imagetypes() вместо function_exists() для проверки существования поддержки форматов изображений:
if (imagetypes() & IMG_GIF) { header ("Content-type: image/gif"); imagegif 
($im); } elseif (imagetypes() & IMG_JPG) { ... etc.

См. также imagepng(), imagewbmp(), imagejpeg(), imagetypes().


Назад Оглавление Вперёд
imagegd Вверх imageinterlace

Обычные ловушки

Элемент MAX_FILE_SIZE не может специфицировать размер файлов больше того размера файла, который может быть установлен в ini-установке upload_max_filesize. По умолчанию 2 Мегабайта.

Если включено ограничение памяти, может понадобиться увеличение memory_limit. Установите memory_limit достаточно большим.

Если max_execution_time установлено слишком маленькое, выполнение скрипта может превысить это значение. Установите max_execution_time достаточно большим.

Если post_max_size слишком мал, большие файлы нельзя будет загружать. Установите post_max_size достаточно большим.

Если не проверять с каким файлом вы работаете, то пользователи могут получить нежелательную информацию в других директориях.

Обратите внимание, что CERN httpd может отсечь всё, начиная с первого пробела в шапке content-type mime-типа, получаемой им с клиента. Если это именно такой случай, CERN httpd не будет поддерживать возможность загрузки файлов.