Same name and namespace in other branches
  1. 4.6.x includes/image.inc \image_get_info()
  2. 4.7.x includes/image.inc \image_get_info()
  3. 5.x includes/image.inc \image_get_info()
  4. 7.x includes/image.inc \image_get_info()

Get details about an image.

Drupal only supports GIF, JPG and PNG file formats.

Return value

FALSE, if the file could not be found or is not an image. Otherwise, a keyed array containing information about the image: 'width' - Width in pixels. 'height' - Height in pixels. 'extension' - Commonly used file extension for the image. 'mime_type' - MIME type ('image/jpeg', 'image/gif', 'image/png'). 'file_size' - File size in bytes.

Related topics

9 calls to image_get_info()
file_validate_image_resolution in includes/file.inc
If the file is an image verify that its dimensions are within the specified maximum and minimum dimensions. Non-image files will be ignored.
file_validate_is_image in includes/file.inc
Check that the file is recognized by image_get_info() as an image.
image_gd_crop in includes/image.gd.inc
Crop an image using the GD toolkit.
image_gd_resize in includes/image.gd.inc
Scale an image to the specified size using GD.
image_gd_rotate in includes/image.gd.inc
Rotate an image the given number of degrees.

... See full list

File

includes/image.inc, line 115
API for manipulating images.

Code

function image_get_info($file) {

  // Proceed no further if this file doesn't exist. Some web servers (IIS) may
  // not pass is_file() for newly uploaded files, so we need two checks here.
  if (!is_file($file) && !is_uploaded_file($file)) {
    return FALSE;
  }
  $details = FALSE;
  $data = @getimagesize($file);
  $file_size = @filesize($file);
  if (isset($data) && is_array($data)) {
    $extensions = array(
      '1' => 'gif',
      '2' => 'jpg',
      '3' => 'png',
    );
    $extension = array_key_exists($data[2], $extensions) ? $extensions[$data[2]] : '';
    $details = array(
      'width' => $data[0],
      'height' => $data[1],
      'extension' => $extension,
      'file_size' => $file_size,
      'mime_type' => $data['mime'],
    );
  }
  return $details;
}