HjySix
HjySix

Reputation: 197

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.

Upvotes: 6

Views: 16972

Answers (3)

Abbuchu
Abbuchu

Reputation: 1

try this one

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

Upvotes: -2

Ho&#224;ng Vũ Tgtt
Ho&#224;ng Vũ Tgtt

Reputation: 2032

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

Upvotes: 3

lorenzo-s
lorenzo-s

Reputation: 17010

  • 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?

Upvotes: 10

Related Questions