Для изменения размера изображения на PHP так, чтобы оно выглядело нормально, можно использовать функцию imagecopyresampled(), которая позволяет изменить размер изображения с сохранением пропорций. Например:
```php
$source_img = imagecreatefromjpeg('имя_файла.jpg');
$target_width = 400; // новая ширина изображения
$target_height = 300; // новая высота изображения
$target_img = imagecreatetruecolor($target_width, $target_height);
imagecopyresampled($target_img, $source_img, 0, 0, 0, 0, $target_width, $target_height, imagesx($source_img), imagesy($source_img));
header('Content-Type: image/jpeg');
imagejpeg($target_img);
imagedestroy($source_img);
imagedestroy($target_img);
```
Для исправления ситуации, когда изображение отображается с нормальными пропорциями на мобильном устройстве, но растянуто на ПК, рекомендуется использовать CSS для адаптивного дизайна. Например, можно задать ширину изображения в процентах от ширины родительского контейнера или использовать медиа-запросы для разных разрешений экрана.
Пример CSS для адаптивного изображения:
```css
img {
max-width: 100%;
height: auto;
}
```
Этот стиль позволит изображению масштабироваться в зависимости от размера экрана, сохраняя при этом пропорции и избегая искажений.