Делаю загрузку аватара в своем приложении, но столкнулся с проблемами некоторых фото.
Они имеют отличную ориентацию от той, что нужна была мне.
Начал копать,
наткнулся на:
$image = imagecreatefromstring(file_get_contents($_FILES['image_upload']['tmp_name']));
$exif = exif_read_data($_FILES['image_upload']['tmp_name']);
if(!empty($exif['Orientation'])) {
switch($exif['Orientation']) {
case 8:
$image = imagerotate($image,90,0);
break;
case 3:
$image = imagerotate($image,180,0);
break;
case 6:
$image = imagerotate($image,-90,0);
break;
}
}
Далее столкнулся с проблемой, что у меня некоторые фото начали поворачиваться не в ту сторону.
Немного покопав, обнаружил у них ориентацию 6.
Смотрю на код, который взял в учебнике php и вижу, что было бы логично повернуть по часовой стрелке, что и делает функция
imagerotate в шестом кейсе (отрицательный угол, как я понял, и должен обеспечивать поворот по часовой стрелке).
Что я упустил? Почему у меня идет отображение вверх ногами?