поскольку лучше использовать встроенный метод PHP снова, как только он будет исправлен, а не полагаться на еще одну внешнюю зависимость, например ImageMagick, которая, к слову, имеет давнюю историю частых и серьезных уязвимостей безопасности.

у небольшой скрипт, который собирает пару значений exif из изображений ... а именно дату создания, марку и модель.

Я замечаю (особенно в отношении изображения, отправляемого по умолчанию через почтовое приложение iPhone), что данные exif были изменены, что является известной проблемой (почтовое приложение сжимает изображения перед их отправкой, даже если выбран «полный размер»). Значения, которые я ищу, по-видимому, там, хотя я получаю предупреждения PHP, обращающиеся к ним. Нет проблем на самом деле получить значения, но предупреждение, очевидно, не работает для меня.

Вызов ini_set ('display_errors', 0) скрывает предупреждения, но мне кажется небрежным. Есть ли способ, которым я могу проигнорировать это предупреждение, в этом сценарии, для этого сценария, который немного лучше?

Моей первоначальной мыслью было завернуть все в попытку / улов, но предупреждение все еще отображается на странице.

Я просто использую стандартную функцию exif_read_data (), я думаю, что внешняя библиотека будет немного больше для того, что мне нужно.

PHP:

if($_GET['i']) {
  $input = strtolower($_GET['i'] . ".jpg");
  if(file_exists($input)) {
    $exif = exif_read_data($input);
    foreach($exif as $key => $value) {
      if(!in_array($key, Array("DateTime","Make","Model"))) {
        unset($exif[$key]);
      }
    }
    ksort($exif);
    print_r($exif);
  }
}

Предупреждение:

Warning: exif_read_data(trailmarker.jpg) [exif_read_data]: Illegal IFD size: x00C4 + 2 + x3239*12 = x25B70 > x2B74 in C:\xampp\htdocs\exif\dumpfolder\exif.php on line 5

Ответы на вопрос(2)

Ваш ответ на вопрос