How to Compress Image using PHP
In this tutorial we are going to talk about how to Compress Images using PHP, You can reduce the image file size with PHP.
I created a function to make it happen. You can use this code to compress any images and save them in .jpeg format. we are reducing the image quality a little bit to make it happen. here is the code.
function compress_image($source_url, $destination_url, $quality) { $info = getimagesize($source_url); if ($info['mime'] == 'image/jpeg') $image = imagecreatefromjpeg($source_url); elseif ($info['mime'] == 'image/gif') $image = imagecreatefromgif($source_url); elseif ($info['mime'] == 'image/png') $image = imagecreatefrompng($source_url); elseif ($info['mime'] == 'image/jpg') $image = imagecreatefromjpeg($source_url); //save it imagejpeg($image, $destination_url, $quality); //return destination file url return $destination_url; }
You can change the image quality by changing the 60 value in compress_image function.
$imname =$_FILES["image"]["tmp_name"]; $source_photo =$imname; $namecreate= "codeconia_".time(); $namecreatenumber= rand(1000 , 10000); $picname= $namecreate.$namecreatenumber; $finalname= $picname.".jpeg"; $dest_photo = 'uploads/'.$finalname; $compressimage = compress_image($source_photo, $dest_photo, 60);
Here is the actual working code .. Make the upload from first
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="image"> <button type="submit"> Upload </button> </form>
Final Make your Upload File
<?php function compress_image($source_url, $destination_url, $quality) { $info = getimagesize($source_url); if ($info['mime'] == 'image/jpeg') $image = imagecreatefromjpeg($source_url); elseif ($info['mime'] == 'image/gif') $image = imagecreatefromgif($source_url); elseif ($info['mime'] == 'image/png') $image = imagecreatefrompng($source_url); elseif ($info['mime'] == 'image/jpg') $image = imagecreatefromjpeg($source_url); //save it imagejpeg($image, $destination_url, $quality); //return destination file url return $destination_url; } $imname =$_FILES["image"]["tmp_name"]; $source_photo =$imname; $namecreate= "codeconia_".time(); $namecreatenumber= rand(1000 , 10000); $picname= $namecreate.$namecreatenumber; $finalname= $picname.".jpeg"; $dest_photo = 'uploads/'.$finalname; $compressimage = compress_image($source_photo, $dest_photo, 60); ?>
Images will save to uploads folder. please check it . hope this helps
Download Source Code :Â
Post Your Questions on our forum
Post a question on ForumShare with your friends:
How to get the next value of an array and loop it in the array in PHP
Do you know How to get the next value of an array and loop it in the array in PHP […]
July 28, 2023
New Open Source CRM for project Management and Invoicing
I’m excited to announce the launch of my new open source project: Gmax CRM. an invoicing and project management tool […]
December 31, 2022
Post View Counts WordPress plugin (Documentation)
The Post View Counts plugin is a simple tool for tracking and displaying the number of views for each post […]
December 30, 2022
How to create Laravel Flash Messages
Laravel flash messages are a convenient way to display one-time notifications to the user after a form submission or other […]
December 22, 2022
Digital Marketing Toolkit
Get Free Access to Digital Marketing Toolkit. You can use all our tools without any limits
Get Free Access Now