Помогите разобраться. Почему система на странице показа полноразмерной фотографии данные exif о фотокамере и технических характеристиках снимка (диафрагма, выдержка, фокус) выводит правильные, а в поле "дата съемки" всегда указывает время загрузки фотографии в фотоальбом сайта.
В самой фотографии exif-данные о дате и времени создании снимка отражаются правильные. Это баг системы или где-то я у себя накосячил?
InstantCMS 2.X
#1
16 января 2017 в 22:33
#2
17 января 2017 в 08:33
Только что залил-проверил на последней версии InstantCMS у меня все норм показывает
#3
17 января 2017 в 23:36
Хм… От шаблона это может зависеть?
Сегодня в 23:55
#4
18 января 2017 в 14:02
Может.
Надо смотреть файл шаблона controllers/photos/view.tpl.php
Ему передан массив с данными $photo_details
Если выводяь дату фото с него и она не верная, то проблема в другом месте,
а если выводят дату непонятно от куда — значит править тут и вывести дату с массива $photo_details
Надо смотреть файл шаблона controllers/photos/view.tpl.php
Ему передан массив с данными $photo_details
Если выводяь дату фото с него и она не верная, то проблема в другом месте,
а если выводят дату непонятно от куда — значит править тут и вывести дату с массива $photo_details
В общем такая ситуация. Я перед загрузкой фотографий, копирую их в отдельную папку для легкой обработки и после сохраняю уже в обработанном виде. Система в качестве даты съемки берет не сведения exif о дате съемки (они из фотографии никуда не деваются), а дату и время последнего сохранения файла. Пробовал грузить фотографии прямо с флэшки фотоаппарата, показывает все правильно — время создания снимка. Любое редактирование этой же фотографии — уже в поле дата съемки стоит новое время.
Выходит, система по факту берет не exif-данные, а данные о времени создания/изменения файла фотографии? Получается такая фигня, что на сайте с летними фотками юга стоят зимние даты, а на дневных, залитых солнцем — ночное время
Выходит, система по факту берет не exif-данные, а данные о времени создания/изменения файла фотографии? Получается такая фигня, что на сайте с летними фотками юга стоят зимние даты, а на дневных, залитых солнцем — ночное время
У меня в легком редактировании при сохранение есть галка — не трогать дату, поэтому не сразу заметил проблему.Любое редактирование этой же фотографии — уже в поле дата съемки стоит новое время.
Причина в файле /system/libs/files.helper.php, где при вытягивании даты с файла в первую очередь смотрится DateTime и только если его нет — DateTimeOriginal
Можно и самому проверку поправить, но лучше расписать проблему на гитхабе, чтобы внесли правки в новую версию.
Как понимаю, это оно? Подскажите, что здесь поменять?
Time'])){
$exif_data['date'] = $exif['IFD0']['DateTime'];
} elseif(isset($exif['EXIF']['DateTimeOriginal'])){
$exif_data['date'] = $exif['EXIF']['DateTimeOriginal'];
} elseif(isset($exif['EXIF']['DateTimeDigitized'])){
$exif_data['date'] = $exif['EXIF']['DateTimeDigitized'];
}
Time'])){
$exif_data['date'] = $exif['IFD0']['DateTime'];
} elseif(isset($exif['EXIF']['DateTimeOriginal'])){
$exif_data['date'] = $exif['EXIF']['DateTimeOriginal'];
} elseif(isset($exif['EXIF']['DateTimeDigitized'])){
$exif_data['date'] = $exif['EXIF']['DateTimeDigitized'];
}
Поменять местами условия чтобы вместо
стало
$exif_data['date'] = $exif['IFD0']['DateTime']; $exif_data['date'] = $exif['EXIF']['DateTimeOriginal']; $exif_data['date'] = $exif['EXIF']['DateTimeDigitized']; }
#9
27 января 2017 в 15:09
Спасибо за помощь. Все работает