PHP / (плохие) данные exif / предупреждения, что делать?

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

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

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

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

12139] Я просто использую стандартную функцию 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);
  }
}

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

Предупреждение: exif_read_data (trailmarker.jpg ) [exif_read_data]: недопустимый размер IFD: x00C4 + 2 + x3239 * 12 = x25B70> x2B74 в C: \ xampp \ htdocs \ exif \ dumpfolder \ exif.php в строке 5

7
задан Jeff 3 March 2011 в 20:59
поделиться