Ultimate Guide to Compressing, Resizing, and Optimizing PHP Images

Last updated 1 month ago | 41 views 75     5

Tags:- PHP

Image optimization is essential for improving website performance and user experience. In this guide, we'll cover how to compress, resize, and optimize images using PHP.

✅ Step 1: Install GD Library or Imagick

Ensure that your server has the GD library or Imagick installed, as they provide the functionality for image manipulation.

✅ Step 2: Compress Images

Using GD Library:

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);
}

compressImage('input.jpg', 'output.jpg', 75);

✅ Step 3: Resize Images

function resizeImage($source, $destination, $newWidth, $newHeight) {
    $info = getimagesize($source);
    $srcImage = imagecreatefromjpeg($source);

    $tmpImage = imagecreatetruecolor($newWidth, $newHeight);
    imagecopyresampled($tmpImage, $srcImage, 0, 0, 0, 0, $newWidth, $newHeight, $info[0], $info[1]);

    imagejpeg($tmpImage, $destination);
}

resizeImage('input.jpg', 'resized.jpg', 800, 600);

✅ Step 4: Optimize PNG Images

Using Imagick:

$imagick = new Imagick('input.png');
$imagick->setImageCompressionQuality(80);
$imagick->writeImage('output.png');

Conclusion

By compressing, resizing, and optimizing images in PHP, you can significantly improve page load times and enhance user experience. Using tools like GD Library and Imagick makes this process efficient and effective.