dzheka3d
@dzheka3d

Как перевернуть фото при загрузке с iphone?

Всем привет. При загрузке на сайт некоторые фотки загружаемые с iphone переворачиваются.
Полагаю, когда снимок сделан коряво, юзер его переворачивает средствами iphone и у него он сомтрится нормально, но когда он загружает картинку на сайт - фотка переворачивается в свою реальную ориентацию.
Можно ли что-то сделать с этим уже на стороне сервера после зигрузки, или на jquery перед загрузкой?
  • Вопрос задан
  • 1847 просмотров
Решения вопроса 1
@MrTimon
На сервере считываете имидж, проверяете его ориентацию, оборачиваете в ту которую нужно и сохраняете уже в правильном положении.
$image = imagecreatefromstring(file_get_contents($_FILES['user_image']['tmp_name']));
        $exif = exif_read_data($_FILES['user_image']['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;
            }
        }

        $file = 'filename.jpeg';
        $uploadfile = $uploaddir . $file;

        imagejpeg($image,$uploadfile,90);
//
        imagedestroy($image);


Этот код перевернет имидж в верной ориентации. Только для роботы кода должно быть установлено exif расширение для пхп (в php.ini нужно раскоментовать строку extension=php_exif.dll, ну и нужно, конечно же, иметь этот самый php_exif.dll в папке с расширениями )
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы