Функция php getimagesize — получение информации об изображении
Функция getimagesize() используется для получения размера изображения и связанной информации. При успешном выполнении она возвращает массив; при неудаче возвращает FALSE и генерирует сообщение об ошибке уровня E_WARNING.
Формат синтаксиса:
array getimagesize ( string $filename [, array &$imageinfo ] )
Функция getimagesize() определяет размер любого файла изображения GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP, IFF, JP2, JPX, JB2, JPC, XBM или WBMP и возвращает размеры изображения, а также тип файла, высоту и ширину изображения.
Пример 1: Локальный файл изображения
<?php
list($width, $height, $type, $attr) = getimagesize("example-logo.png");
echo "宽度为:" . $width;
echo "高度为:" . $height;
echo "类型为:" . $type;
echo "属性:" . $attr;
?>
Вывод приведенного выше примера:
宽度为:290 高度为:69 类型为:3 属性:width="290" height="69"
Пример 2: Удалённый файл изображения
<?php $remote_png_url = 'http://www.example.com/wp-content/themes/w3cschool.cc/assets/img/logo-domain-green2.png'; $img_data = getimagesize($remote_png_url); print_r($img_data ); ?>
Вывод приведенного выше примера:
Array
(
[0] => 290
[1] => 69
[2] => 3
[3] => width="290" height="69"
[bits] => 8
[mime] => image/png
)
Описание возвращаемого результата
- Индекс 0 содержит значение ширины изображения в пикселях
- Индекс 1 содержит значение высоты изображения в пикселях
- Индекс 2 содержит тип изображения, возвращаемый в виде числа, где 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF (порядок байтов Intel), 8 = TIFF (порядок байтов Motorola), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM
- Индекс 3 возвращает строку с шириной и высотой, которую можно напрямую использовать в HTML-теге <image>
- Индекс 'bits' задает количество битов для каждого цвета изображения в двоичном формате
- Индекс 'channels' задает значение канала изображения; для RGB-изображений по умолчанию равно 3
- Индекс 'mime' содержит MIME-информацию изображения. Эту информацию можно использовать для отправки корректной информации в HTTP-заголовке Content-type, например: header("Content-type: image/jpeg");
PHP Обработка изображений