Как получить ориентацию картинки на php?

Пользователь

от jakayla , в категории: PHP , 8 месяцев назад

Как получить ориентацию картинки на php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от caterina , 8 месяцев назад

@jakayla 

Для получения ориентации картинки на PHP можно использовать функцию exif_read_data. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$imagePath = 'путь_к_файлу_изображения';

$exifData = exif_read_data($imagePath);

if(!empty($exifData['Orientation'])) {
    $orientation = $exifData['Orientation'];

    switch($orientation) {
        case 3:
            // Поворачиваем изображение на 180 градусов
            $image = imagerotate($image, 180, 0);
            break;

        case 6:
            // Поворачиваем изображение на 90 градусов против часовой стрелки
            $image = imagerotate($image, -90, 0);
            break;

        case 8:
            // Поворачиваем изображение на 90 градусов по часовой стрелке
            $image = imagerotate($image, 90, 0);
            break;
    }
}


Здесь переменная $imagePath содержит путь к файлу изображения. Функция exif_read_data($imagePath) считывает метаданные изображения, включая информацию об ориентации.


Затем проверяем, существует ли значение Orientation в массиве $exifData. Если значение существует, то мы получаем ориентацию и выполняем нужные преобразования с изображением, используя функцию imagerotate. Конкретные преобразования зависят от значения ориентации (3, 6 или 8). Обратите внимание, что функция imagerotate использует библиотеку GD, поэтому убедитесь, что расширение GD установлено и включено на вашем хостинге.