Проверка размера изображения php

getimagesizefromstring

Identical to getimagesize() except that getimagesizefromstring() accepts a string instead of a file name as the first parameter.

See the getimagesize() documentation for details on how this function works.

Parameters

The image data, as a string.

Return Values

Examples

Example #1 getimagesizefromstring() example

// Open as a file
$size_info1 = getimagesize ( $img );

// Or open as a string
$data = file_get_contents ( $img );
$size_info2 = getimagesizefromstring ( $data );
?>

See Also

User Contributed Notes 2 notes

getimagesizefromstring function for < 5.4

if (! function_exists ( ‘getimagesizefromstring’ )) function getimagesizefromstring ( $string_data )
$uri = ‘data://application/octet-stream;base64,’ . base64_encode ( $string_data );
return getimagesize ( $uri );
>
>
?>

Just a quick comment on the solution by imageman for versions < 5.4 you will need to enable allow_url_fopen in order to use the data wrapper.

  • GD and Image Functions
    • gd_​info
    • getimagesize
    • getimagesizefromstring
    • image_​type_​to_​extension
    • image_​type_​to_​mime_​type
    • image2wbmp
    • imageaffine
    • imageaffinematrixconcat
    • imageaffinematrixget
    • imagealphablending
    • imageantialias
    • imagearc
    • imageavif
    • imagebmp
    • imagechar
    • imagecharup
    • imagecolorallocate
    • imagecolorallocatealpha
    • imagecolorat
    • imagecolorclosest
    • imagecolorclosestalpha
    • imagecolorclosesthwb
    • imagecolordeallocate
    • imagecolorexact
    • imagecolorexactalpha
    • imagecolormatch
    • imagecolorresolve
    • imagecolorresolvealpha
    • imagecolorset
    • imagecolorsforindex
    • imagecolorstotal
    • imagecolortransparent
    • imageconvolution
    • imagecopy
    • imagecopymerge
    • imagecopymergegray
    • imagecopyresampled
    • imagecopyresized
    • imagecreate
    • imagecreatefromavif
    • imagecreatefrombmp
    • imagecreatefromgd2
    • imagecreatefromgd2part
    • imagecreatefromgd
    • imagecreatefromgif
    • imagecreatefromjpeg
    • imagecreatefrompng
    • imagecreatefromstring
    • imagecreatefromtga
    • imagecreatefromwbmp
    • imagecreatefromwebp
    • imagecreatefromxbm
    • imagecreatefromxpm
    • imagecreatetruecolor
    • imagecrop
    • imagecropauto
    • imagedashedline
    • imagedestroy
    • imageellipse
    • imagefill
    • imagefilledarc
    • imagefilledellipse
    • imagefilledpolygon
    • imagefilledrectangle
    • imagefilltoborder
    • imagefilter
    • imageflip
    • imagefontheight
    • imagefontwidth
    • imageftbbox
    • imagefttext
    • imagegammacorrect
    • imagegd2
    • imagegd
    • imagegetclip
    • imagegetinterpolation
    • imagegif
    • imagegrabscreen
    • imagegrabwindow
    • imageinterlace
    • imageistruecolor
    • imagejpeg
    • imagelayereffect
    • imageline
    • imageloadfont
    • imageopenpolygon
    • imagepalettecopy
    • imagepalettetotruecolor
    • imagepng
    • imagepolygon
    • imagerectangle
    • imageresolution
    • imagerotate
    • imagesavealpha
    • imagescale
    • imagesetbrush
    • imagesetclip
    • imagesetinterpolation
    • imagesetpixel
    • imagesetstyle
    • imagesetthickness
    • imagesettile
    • imagestring
    • imagestringup
    • imagesx
    • imagesy
    • imagetruecolortopalette
    • imagettfbbox
    • imagettftext
    • imagetypes
    • imagewbmp
    • imagewebp
    • imagexbm
    • iptcembed
    • iptcparse
    • jpeg2wbmp
    • png2wbmp

    Источник

    getimagesize

    Функция getimagesize() определит размер заданного изображения и вернет этот размер вместе с типом файла и текстовой строкой height/width, которую можно будет использовать внутри тэга HTML IMG , а также вернет соответствующий тип содержимого HTTP .

    Также getimagesize() может вернуть дополнительные сведения об изображении через аргумент imageinfo .

    Замечание: Обратите внимание на тот факт, что отдельные части JPC и JP2 изображений могут иметь различную глубину цвета. В этом случае в параметре «bits» будет стоять максимальное значение из всех обнаруженных. Также JP2 файлы могут содержать несколько JPEG 2000 кодовых потоков. В таком случае getimagesize() вернет значения для первого такого потока, который будет обнаружен функцией в корне файла.

    Замечание: Сведения об иконках извлекаются из иконки с наибольшим битрейтом.

    Список параметров

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

    Этот необязательный аргумент позволяет извлечь некоторые расширенные сведения из файла изображения. На данный момент можно получать различные JPG APP маркеры в виде ассоциативного массива. Некоторые программы используют эти маркеры для встраивания текста в картинку. Наиболее часто встраивают » IPTC сведения в APP13 маркер. Для преобразования двоичных данных APP13 маркера во что-то удобочитаемое можно воспользоваться функцией iptcparse() .

    Возвращаемые значения

    Возвращает массив из 7 элементов или меньше. Не все типы изображений содержат элементы с каналами (channels) и битрейтом (bits).

    Индексы 0 и 1 содержат ширину и высоту изображения.

    Замечание:

    Некоторые форматы файлов могут хранить несколько изображений или не содержать изображения вообще. В таких случаях getimagesize() не сможет определить размер изображения. getimagesize() вернет нули в качестве значений высоты и ширины.

    Индекс 2 содержит одну из констант типа изображения IMAGETYPE_XXX constants.

    Индекс 3 содержит строку со значениями ширины и высоты изображения height=»yyy» width=»xxx», которая может быть использована внутри IMG тэга.

    mime — соответствующий MIME-тип изображения. Эти сведения используются для корректной обработки изображения на основании Content-type заголовка:

    Пример #1 getimagesize() и MIME типы

    channels принимает значение 3 для RGB картинок и 4 для CMYK.

    bits — глубина цвета, число бит для каждого цвета.

    Для некоторых типов изображений наличие значений channels и bits может сбить с толку. Например, GIF всегда использует 3 канала на пиксель, но глубину цвета невозможно вычислить для анимированных GIF изображений с общей таблицей цветов.

    В случае ошибки функция вернет FALSE .

    Ошибки

    Если доступ к файлу filename невозможен, getimagesize() сгенерирует ошибку уровня E_WARNING . В случае ошибки чтения файла getimagesize() сгенерирует ошибку уровня E_NOTICE .

    Список изменений

    Версия Описание
    5.3.0 Добавлена поддержка иконок.
    5.2.3 Уровень ошибок чтения, генерируемых функцией, снижен до E_NOTICE с E_WARNING .
    4.3.2 Стала доступной поддержка JPC , JP2 , JPX , JB2 , XBM и WBMP .
    4.3.2 Добавлена поддержка JPEG 2000 для аргумента imageinfo .
    4.3.0 bits и channels стали доступны и для других типов.
    4.3.0 Добавлена поддержка SWC and IFF .
    4.2.0 Добавлена поддержка TIFF .
    4.0.6 Добавлена поддержка BMP and PSD .

    Примеры

    Пример #2 Пример использования getimagesize()

    \"пример

    list( $width , $height , $type , $attr ) = getimagesize ( «img/flag.jpg» );
    echo «» ;
    ?>

    Пример #3 getimagesize (URL)

    $size = getimagesize ( «http://www.example.com/gifs/logo.gif» );

    // если в имени файла есть пробелы, учтите это должным образом
    $size = getimagesize ( «http://www.example.com/gifs/lo%20go.gif» );

    Пример #4 getimagesize() возвращающая IPTC

    $size = getimagesize ( «testimg.jpg» , $info );
    if (isset( $info [ «APP13» ])) $iptc = iptcparse ( $info [ «APP13» ]);
    var_dump ( $iptc );
    >
    ?>

    Примечания

    Замечание:

    Этой функции не требуется библиотека GD.

    Смотрите также

    • image_type_to_mime_type() — Получение Mime-типа для типа изображения, возвращаемого функциями getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
    • exif_imagetype() — Определение типа изображения
    • exif_read_data() — Читает EXIF-заголовки JPEG и TIFF изображений
    • exif_thumbnail() — Получает встроенный эскиз TIFF или JPEG изображения

    Источник

    getimagesize

    Функция getimagesize() определяет размер изображения GIF, JPG, PNG, SWF, PSD, TIFF или BMP и возвращает размеры, тип файла и высоту/ширину текстовой строки, используемой внутри нормального HTML-тэга IMG.

      Возвращает массив из 4 элементов:
    • Индекс 0 содержит ширину/width изображения в пикселах.
    • Индекс 1 содержит высоту/height.
    • Индекс 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.
    • Индекс 3 это текстовая строка с корректной строкой height=»yyy» width=»xxx», которая может использоваться непосредственно в тэге IMG.

    Пример 1. getimagesize (file)

    $size = getimagesize ("img/flag.jpg"); echo ">";

    Пример 2. getimagesize (URL)

    $size = getimagesize ("http://www.example.com/gifs/logo.gif");

      С изображениями JPG возвращаются два дополнительных индекса:
    • channel имеет значение 3 для RGB-рисунков и 4 для CMYK-рисунков.
    • bits это количество битов для каждого цвета.

    Если доступ к файлу filename изображения невозможен или если это неправильное изображение, getimagesize() возвратит NULL и сгенерирует предупреждение.

    Необязательный параметр imageinfo позволяет извлекать расширенную информацию из файла изображения. В настоящее время возвращается различные JPG APP-маркёры в ассоциативном массиве. Некоторые программы используют эти APP-маркёры для внедрения текстовой информации в изображения. Обычным является внедрение IPTC-информации http://www.iptc.org/ в маркёр APP13. Вы можете использовать функцию iptcparse() для разбора двоичного маркёра APP13 в нечто читабельное.

    Пример 3. getimagesize возвращает IPTC

    $size = getimagesize ("testimg.jpg",&$info); if (isset ($info["APP13"]))

    Пример 4. getimagesize() и MIME

    $size = getimagesize($filename); $fp = fopen($filename, "rb"); if ($size && $fp) < header("Content-type: "); fpassthru($fp); exit; > else < // error >

    Примечание: поддержка TIFF была введена в PHP 4.2. Поддержка JPEG2000 была введена в PHP 4.3.

    Эта функция не требует библиотеки GD image.

    Поддержка URL была введена в PHP 4.0.5.

    Источник

    Читайте также:  Create empty dataframe python
Оцените статью