24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна.
Подробности случившегося. Мы призываем всех неравнодушных
помочь нам с восстановлением утраченного контента!
Уже 7 лет ковыряю движок для борд, чисто по фану. Ковыряю раз в полгода, но вот увидел что при загрузке файла не убирается EXIF-дата. Решил это исправить. Нагуглил что лучший способ это пересоздать картинку imagecreatefromjpeg + imagejpeg.
И мне начало выдавать ошибку, что после удаления EXIF-данных и перемещения из временного файла PHP в нормальную картинку - размеры файлов не совпадают.
Написал тестик: на каждом этапе сохраняется размер и хеш, пик2. origin - это картинка которую я отправил, after_imagejpeg это после удаления EXIF, а end_file это после перемещения в папку где картинки хранятся.
И Я БЛЯТЬ ОХУЕЛ
У 2х последних картинок до перемещения move_uploaded_file и после разный размер, но одинаковый блять хеш!
Анон, разве такое возможно?
Код-говнокод пикрелейтед. Вырезал из него всякую хуйню типа проверки поддерживаемого типа и т.д., чтобы все 3 этапа стояли вместе.
Думаю разобраться легко.
Я понимаю что я кодерская обезьянка, не бейте, но я реально нахуй что-то не понимаю что за хуйня.
1) Как может быть разный хеш, если содержимое одинаковое?
2) Как чисто функция move_uploaded_file может увеличивать ебучий размер, если даже оригинальная картинка блять меньше?