Content · Web Development · PHP

PHP exif_read_data() Function: Usage and Examples

Extracts available EXIF metadata such as camera, orientation and date from supported image files.

1 views Published Oct 17, 2026 Updated Oct 17, 2026 admin

Extracts available EXIF metadata such as camera, orientation and date from supported image files.

What It Does


getimagesize() reads dimensions; EXIF functions inspect metadata or image signatures. Not every image contains EXIF; values can be absent or attacker-controlled.

Requirements and Compatibility


EXIF extension. Sample images and fonts referred to by filename must be supplied locally. Use PHP 8 GdImage objects where applicable; optional decoders depend on the installed build.

Syntax, Inputs and Results


The arguments shown below are concrete values for this function; their types and ranges matter. The example checks return data rather than assuming that every operation succeeds.

Example 1: Basic Use


Call the function with a concrete input and inspect its result.

<?php
if (!is_file(__DIR__ . '/photo.jpg')) throw new RuntimeException('Provide the sample file /photo.jpg');
$result = exif_read_data(__DIR__ . '/photo.jpg', 'IFD0', true);
if ($result === false) throw new RuntimeException('Could not read image information');
print_r(array_slice($result, 0, 3));

Example 2: Another Case


Change the inputs to observe the behavior on another case.

<?php
if (!is_file(__DIR__ . '/portrait.jpg')) throw new RuntimeException('Provide the sample file /portrait.jpg');
$result = exif_read_data(__DIR__ . '/portrait.jpg', null, false);
if ($result === false) throw new RuntimeException('Could not read image information');
print_r(array_slice($result, 0, 3));

Practical Example


Use the result to create an output, validate a condition, or complete an image workflow.

<?php
$path = __DIR__ . '/photo.jpg';
if (!is_file($path)) throw new RuntimeException('Missing sample');
$info = exif_read_data(__DIR__ . '/photo.jpg', 'IFD0', true);
if ($info === false) throw new RuntimeException('Invalid metadata');
print_r($info);

For production, apply the compatibility and edge-case limits described below.

Important Behavior and Edge Cases


Not every image contains EXIF; values can be absent or attacker-controlled.

Comparison with Related Functions and Tools


SubjectKey difference
exif_read_data()getimagesize() reads dimensions; EXIF functions inspect metadata or image signatures.

Common Beginner Mistakes


MistakeCorrect approach
Calling exif_read_data() without its required input or supported extensionCheck the extension, supply valid arguments, and handle false or exceptions according to the function.
Assuming exif_read_data() guarantees a valid or safe imageNot every image contains EXIF; values can be absent or attacker-controlled.
Confusing the operation with a related APIgetimagesize() reads dimensions; EXIF functions inspect metadata or image signatures.

Key Takeaways


  • Extracts available EXIF metadata such as camera, orientation and date from supported image files.
  • Not every image contains EXIF; values can be absent or attacker-controlled.
  • Choose the companion API described in the comparison table when the job differs.

Use these examples as a starting point, then validate the result with the actual PHP build, dependencies and inputs used by your application.

Share this resourceSend this page to someone who may find it useful.