обработка изображения — значения ширины и высоты автоматически меняются местами после загрузки на сервер. [PHP]

Я использовал эту функцию getimagesize($file_tmp_name) чтобы получить ширину и высоту загруженного изображения.
Функция вернула двумерный массив: $width = arr[0] а также $height = arr[1];

введите описание изображения здесь

На моем ПК размер изображения: 3024 x 4032 (ш x ч)
Но на стороне сервера значения ширины и высоты изображения меняются местами. 4032 x 3024 (ш х ч)

 var_dump($width); // C:\wamp64\www\upload_script\Image.php:89:int 4032
var_dump($height); // C:\wamp64\www\upload_script\Image.php:90:int 3024

Я не уверен, что вызвало это и как я могу сделать это последовательным. Я ценю любую помощь.

0

Решение

Вы можете проверить первый комментарий на exif_read_data Функция в руководстве по PHP.

Код скопирован оттуда:

<?php
$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;
}
}
// $image now contains a resource with the image oriented correctly
?>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]