Всех приветствую!
На одинаковых версиях PHP, по разному работают функции imagecreatefromstring и imagejpeg.
Например, есть код:
if (move_uploaded_file($tmp_filename, $fullpath)) {
$image = imagecreatefromstring(file_get_contents($fullpath));
# rotate
$exif = exif_read_data($fullpath);
$angles= array(8 => 90, 3 => 180, 6 => -90);
if(!empty($exif['Orientation']) && isset($angles[$exif['Orientation']])) {
$image = imagerotate($image, $angles[$exif['Orientation']], 0);
}
# rotate
imagejpeg($image, $fullpath);
}
Если запустить этот пример и загрузить изображение с данными в exif, то на локальном сервере на версии PHP 7.3 изображение загрузиться как есть, на сервере клиента (PHP 7.3) оно повернеться на нужный угол.
Если все строки между комментами "#rotate" убрать, то на локальном изображение поворачивается само, на сервере клиента - ничего не происходит.
Вопрос в том, как определить, что оно повернется само и не поворачивать повторно если в этом нет необходимости? Спасибо