What are the potential pitfalls of using PHP to compress images, and how does it impact image quality?

When using PHP to compress images, one potential pitfall is the loss of image quality due to excessive compression. This can result in blurry or pixelated images, especially when compressing images multiple times. To mitigate this issue, it's important to find a balance between reducing file size and maintaining image quality.

// Example code snippet to compress images with PHP while maintaining quality
function compressImage($source, $destination, $quality) {
    $info = getimagesize($source);
    if ($info['mime'] == 'image/jpeg') {
        $image = imagecreatefromjpeg($source);
    } elseif ($info['mime'] == 'image/png') {
        $image = imagecreatefrompng($source);
    }
    
    imagejpeg($image, $destination, $quality);
    
    return $destination;
}

// Usage example
$source = 'original_image.jpg';
$destination = 'compressed_image.jpg';
$quality = 80; // Adjust quality value as needed
compressImage($source, $destination, $quality);