What common issues can arise when resizing images in PHP?

One common issue when resizing images in PHP is the loss of image quality or distortion due to improper scaling. To solve this, it is important to maintain the aspect ratio of the image when resizing. This can be achieved by calculating the new dimensions based on the original aspect ratio before resizing the image.

// Example code to resize image while maintaining aspect ratio
function resize_image($image_path, $new_width) {
    list($width, $height) = getimagesize($image_path);
    $aspect_ratio = $width / $height;
    $new_height = $new_width / $aspect_ratio;

    $image = imagecreatefromjpeg($image_path);
    $new_image = imagecreatetruecolor($new_width, $new_height);
    imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

    imagejpeg($new_image, 'resized_image.jpg');
    imagedestroy($image);
    imagedestroy($new_image);
}

// Usage
resize_image('original_image.jpg', 300);