PHP:exif_read_data() not defined

Posted on

PHP:exif_read_data() not defined – Here in this article, we will share some of the most common and frequently asked about PHP problem in programming with detailed answers and code samples. There’s nothing quite so frustrating as being faced with PHP errors and being unable to figure out what is preventing your website from functioning as it should like php and exif . If you have an existing PHP-based website or application that is experiencing performance issues, let’s get thinking about PHP:exif_read_data() not defined.

I’m now learning how to extract exif from images.I wrote the simple code like this:

<?php
//Get the exif data
$exif_data = exif_read_data('sample.jpg');
print_r($exif_data);
?>

But, there is a fatal error about undefined exif_read_data() when running the code.
I’m a windows user, and I have modified the php.ini like this :

extension=php_mbstring.dll
extension=php_exif.dll

Thanks for your help.

Solution :

  • Do you have these DLLs on your system under Php/ext folder?

  • Have you restarted Apache after editing the php.ini?

  • The php.ini you edited is the one used by system? You can verify this reading <?php phpinfo() ?> output.

  • Is there in <?php phpinfo() ?> output some information about the EXIF extension?

If you have exif.so or php_exif.dll enabled under php.ini dynamic extensions, but you still have problem running any function, it is possible that you may need to change order of extensions in php.ini.

In many PHP installation packages the extensions are listed alphabetically. However, exif is dependent on mbstrings to be loaded first. Yet, with alphabetic ordering the exif is listed before mbstrings and it causes the error. Load mbstrings extensions before exif.

Thus, do put exif as the very last extension to load and you should be fine.

http://php.net/manual/en/book.exif.php

try this one

 if(extension_loaded("exif"))
    $exif_data = exif_read_data('sample.jpg','EXIF',true);
 else 
    $exif_data = false;