В настоящее время у меня есть несколько сценариев обработки изображений, которые я написал на PHP, которые я использую для веб-сайтов CMS.Один из них берет исходное изображение, которое клиент загрузил, изменяет его размер, записывает обработанное изображение с определенным именем файла (например, 100x100_id240.jpg для миниатюры 100 x 100 для идентификатора страницы 240) и, что наиболее важно, изменяет метку времени на новомобработанное изображение соответствует исходному изображению.
Каждый раз, когда браузер запрашивает страницу, скрипт php проверяет временную метку как исходного, так и обработанного изображения, чтобы убедиться, что они совпадают - если они не совпадают, то клиентдолжно было изменить исходное изображение, чтобы обработка повторялась, а новая версия перезаписывала 100x100_id240.jpg.Если временные метки совпадают, нам не нужно повторно обрабатывать изображения, поэтому мы просто используем миниатюру уже обработанных процессов.
Это прекрасно работает.Тем не менее, время от времени я получаю клиента, который загружает стопку изображений с одинаковой отметкой времени с точностью до сотых долей секунды.Если затем затем изменить исходное изображение для страницы на альтернативное изображение с той же временной меткой, сценарий php весело идет по этому пути и сравнивает временную метку исходного изображения с временной меткой обработанного изображения, находит те же временные метки и поэтому не обрабатывает повторноновое исходное изображение.Затем мы получаем неправильный вывод миниатюр.
Я подумал о том, чтобы записать случайную метку времени в исходное изображение при загрузке, что решило бы проблему.Но я бы предпочел сохранить этот штамп.Поэтому мне нужен другой метод (который не требует больших усилий при обработке, например, подсчет всех пикселей в исходном изображении, например, красного цвета).Я задавался вопросом, могу ли я написать уникальный код для exif-данных или что-то в этом роде.Но EXIF только для JPG, верно?Есть идеи, как это решить?Спасибо