Руководство по PHP
Пред. |  | След.

# getimagesize

(PHP 3, PHP 4, PHP 5)

getimagesize -- Get the size of an image

## Описание

array getimagesize ( string filename [, array &imageinfo] )

The getimagesize() function will determine the size of any given image file and return the dimensions along with the file type and a height/width text string to be used inside a normal HTML <IMG> tag and the correspondant HTTP content type.

getimagesize() can also return some more information in `imageinfo` parameter.

> Замечание: Note that JPC and JP2 are capable of having components with different bit depths. In this case, the value for "bits" is the highest bit depth encountered. Also, JP2 files may contain multiple JPEG 2000 codestreams. In this case, getimagesize() returns the values for the first codestream it encounters in the root of the file.

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

`filename`

`imageinfo`

  This optional parameter allows you to extract some extended information from the image file. Currently, this will return the different JPG APP markers as an associative array. Some programs use these APP markers to embed text information in images. A very common one is to embed IPTC information in the APP13 marker. You can use the iptcparse() function to parse the binary APP13 marker into something readable.

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

Returns an array with 5 elements.

Index 0 and 1 contains respectively the width and the height of the image.

> Замечание: Some formats may contain no image or may contain multiple images. In these cases, getimagesize() might not be able to properly determine the image size. getimagesize() will return zero for width and height in these cases.

Index 2 is one of the `IMAGETYPE_XXX` constants indicating the type of the image.

Index 3 is a text string with the correct `height="yyy" width="xxx"` string that can be used directly in an IMG tag.

`mime` is the correspondant MIME type of the image. This information can be used to deliver images with correct the HTTP `Content-type` header:

Пример 1. getimagesize() and MIME types

`<?php $size = getimagesize($filename); $fp = fopen($filename, "rb"); if ($size && $fp) { header("Content-type: {$size['mime']}"); fpassthru($fp); exit; } else { // error } ?>`

`channels` will be 3 for RGB pictures and 4 for CMYK pictures. `bits` is the number of bits for each color. However, for some image types, the presence of these values can be a bit confusing. As an example, GIF always uses 3 channels per pixel, but the number of bits per pixel cannot be calculated for an animated GIF with a global color table.

On failure, `FALSE` is returned.

## Errors/Exceptions

If accessing the `filename` image is impossible, or if it isn't a valid picture, getimagesize() will generate an error of level `E_WARNING`.

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

Версия | Описание
--- | ---
4.3.2 | Support for JPC, JP2, JPX, JB2, XBM, and WBMP became available.
4.3.2 | JPEG 2000 support was added for the `imageinfo` parameter.
4.3.0 | `bits` and `channels` are present for other image types, too.
4.3.0 | `mime` was added.
4.3.0 | Support for SWC was added.
4.2.0 | Support for TIFF was added.
4.0.5 | URL support was added.

## Примеры

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

`<?php list($width, $height, $type, $attr) = getimagesize("img/flag.jpg"); echo "<img src=\"img/flag.jpg\" $attr alt=\"getimagesize() example\" />"; ?>`

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

`<?php $size = getimagesize("http://www.example.com/gifs/logo.gif"); // if the file name has space in it, encode it properly $size = getimagesize("http://www.example.com/gifs/lo%20go.gif"); ?>`

Пример 4. getimagesize() returning IPTC

`<?php $size = getimagesize("testimg.jpg", $info); if (isset($info["APP13"])) { $iptc = iptcparse($info["APP13"]); var_dump($iptc); } ?>`

## Примечания

> Замечание: The getimagesize() function does not require the GD image library.

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

image_type_to_mime_type()
exif_imagetype()
exif_read_data()
exif_thumbnail()

Пред. | Начало | След.
gd_info | Уровень выше | image_type_to_extension