Я пишу небольшой скрипт, который собирает пару значений 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