exif_thumbnail

Retrieve the embedded thumbnail of an image

&reftitle.description; ``string``false```exif_thumbnail` ``resource``string```file` `int` `width`&null; `int` `height`&null; `int` `image_type`&null;

`exif_thumbnail` reads the embedded thumbnail of an image.

If you want to deliver thumbnails through this function, you should send the mimetype information using the `header` function.

It is possible that `exif_thumbnail` cannot create an image but can determine its size. In this case, the return value is &false; but `width` and `height` are set.

&reftitle.parameters;

`file`

- The location of the image file. This can either be a path to the file or a stream `resource`.

`width`

- The return width of the returned thumbnail.

`height`

- The returned height of the returned thumbnail.

`image_type`

- The returned image type of the returned thumbnail. This is either TIFF or JPEG.

&reftitle.returnvalues;

Returns the embedded thumbnail, or &false; if the image contains no thumbnail.

&reftitle.changelog;

&Version; | &Description;
7.2.0 | The `file` parameter now supports both local files and stream resources.

&reftitle.examples;

### `exif_thumbnail` example

    <?php
    $image = exif_thumbnail('/path/to/image.jpg', $width, $height, $type);

    if ($image!==false) {
        header('Content-type: ' .image_type_to_mime_type($type));
        echo $image;
        exit;
    } else {
        // no thumbnail available, handle the error here
        echo 'No thumbnail available';
    }
    ?>

&reftitle.notes;

If the `file` is used to pass a stream to this function, then the stream must be seekable. Note that the file pointer position is not changed after this function returns.

&reftitle.seealso;

- `exif_read_data`
- `image_type_to_mime_type`