Compress Image size while Uploading with PHP
Compress Image size while Uploading with PHP
Published Mar 22,2019 by Kailash Singh
2 Comments 2773 Views
In this tutorial, we are going to learn about how to compress image size while uploading with PHP.
Step 1 :- Create compress_image table in database.
CREATE TABLE `codingmantra`.`compress_image` ( `id` INT(11) NOT NULL AUTO_INCREMENT , `image` VARCHAR(250) NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;
Step 2 :- Create connection to database in php file.
The mysqli_connect() function opens a new connection to the MySQL server.
Syntax : - mysqli_connect(hostname, username, password, database);
<?php $con = mysqli_connect('localhost','root','','codingmantra'); ?>
Step 3 :- Create view to upload file.
The following HTML code below creates an uploader form. This form is having method attribute set to action, post and enctype attribute is set to multipart/form-data
<form method='post' action='' enctype='multipart/form-data'>
<input type='file' name='image' class="form-control"><br>
<input type='submit' value='Upload Image' class="btn btn-primary" name='upload'>
</form>
Step 4 :- Create Images folder to store images
Step 5 :- write compress code
Create a compressedImage()
function to compress PNG, JPEG and GIF images.
The function takes 3 parameters :-
1. Source
2. Destination
3. File quality
Execute imagejpeg()
method to store image to the destination.
The third parameter quality
is optional. It takes value from 0 – 100 and the default value is 75.
<?php
if(isset($_POST['upload'])){
// Getting file name
$filename = $_FILES['image']['name'];
// Valid extension
$valid_ext = array('png','jpeg','jpg');
$photoExt1 = @end(explode('.', $filename)); // explode the image name to get the extension
$phototest1 = strtolower($photoExt1);
$new_profle_pic = time().'.'.$phototest1;
// Location
$location = "images/".$new_profle_pic;
// file extension
$file_extension = pathinfo($location, PATHINFO_EXTENSION);
$file_extension = strtolower($file_extension);
// Check extension
if(in_array($file_extension,$valid_ext)){
// Compress Image
compressedImage($_FILES['image']['tmp_name'],$location,60);
//Here i am enter the insert code in the step ........
}
else
{
echo "File format is not correct.";
}
}
// Compress image
function compressedImage($source, $path, $quality) {
$info = getimagesize($source);
if ($info['mime'] == 'image/jpeg')
$image = imagecreatefromjpeg($source);
elseif ($info['mime'] == 'image/gif')
$image = imagecreatefromgif($source);
elseif ($info['mime'] == 'image/png')
$image = imagecreatefrompng($source);
imagejpeg($image, $path, $quality);
}
?>
Step 6 :- Now we are storing the image in the database.
$sql = "INSERT INTO compress_image(image)VALUES ('".$new_profle_pic."')";
if (mysqli_query($con, $sql))
{
echo "New record created successfully";
}
Hope this will help our developers.
Elevenstech Web Tutorials
Elevenstech Web Tutorials helps you learn coding skills and enhance your skills you want.
As part of Elevenstech's Blog, Elevenstech Web Tutorials contributes to our mission of “helping people learn coding online”.
Read More
Newsletter
Subscribe to get the latest updates from Elevenstech Web Tutorials and stay up to date