PHP: exif_read_data () не определено - PullRequest
5 голосов
/ 20 декабря 2011

Сейчас я учусь извлекать exif из изображений. Я написал такой простой код:

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

Но есть фатальная ошибка, связанная с неопределенным exif_read_data () при запуске кода. Я пользователь Windows, и я изменил php.ini так:

extension=php_mbstring.dll
extension=php_exif.dll

Спасибо за вашу помощь.

Ответы [ 3 ]

8 голосов
/ 20 декабря 2011
  • Есть ли в вашей системе эти библиотеки DLL в папке Php/ext?

  • Вы перезапустили Apache после редактирования php.ini?

  • Отредактированный вами php.ini используется системой? Вы можете проверить это чтение <?php phpinfo() ?> output.

  • Есть ли в <?php phpinfo() ?> вывод информации о расширении EXIF?

2 голосов
/ 23 мая 2013

Если у вас включен exif.so или php_exif.dll в динамических расширениях php.ini, но у вас все еще есть проблемы с запуском какой-либо функции, возможно, вам может понадобиться изменить порядок расширений в php.ini.

Во многих установочных пакетах PHP расширения перечислены в алфавитном порядке. Однако exif зависит от mbstrings, которые будут загружены первыми. Тем не менее, с алфавитным порядком exif перечисляется перед mbstrings, и это вызывает ошибку. Загрузка расширений mbstrings перед exif.

Таким образом, ставьте exif как последнее расширение для загрузки, и все будет в порядке.

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

0 голосов
/ 24 января 2019

попробуйте это

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