Jump to content

Reduce File size


proctk

Recommended Posts

Hi the below code reduces the image at the same time it reduces the disk space the image uses.  It works excellent but I want to reduce the diskspace each file uses even more, but keep the image width and height the same

 

any ideas how to do this

 

thank you

// upload Images
if(isset($_POST['upLoadImages'])){
foreach ($_FILES['file']['tmp_name'] as $i => $val) :
if (is_uploaded_file($_FILES['file']['tmp_name'][$i])) {
// This is the temporary file created by PHP
$uploadedfile = $HTTP_POST_FILES['file']['tmp_name'][$i];

// Create an Image from it so we can do the resize
$src = imagecreatefromjpeg($uploadedfile);

// Capture the original size of the uploaded image
list($width,$height)=getimagesize($uploadedfile);

// For our purposes, I have resized the image to be
// 600 pixels wide, and maintain the original aspect
// ratio. This prevents the image from being "stretched"
// or "squashed". If you prefer some max width other than
// 600, simply change the $newwidth variable
$newwidth=450;
$newheight=($height/$width)*450;
$tmp=imagecreatetruecolor($newwidth,$newheight);


// this line actually does the image resizing, copying from the original
// image into the $tmp image
imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);

// now write the resized image to disk. I have assumed that you want the
// resized, uploaded image file to reside in the ./images subdirectory.
$filename = "../user_images/". $user_name."-".$HTTP_POST_FILES['file']['name'][$i];

imagejpeg($tmp,$filename,100);

imagedestroy($src);
imagedestroy($tmp); // NOTE: PHP will clean up the temp file it created when the request
// has completed.

$image_size = filesize($filename);
$image_name = $user_name."-".$HTTP_POST_FILES['file']['name'][$i];
$add_image = ("INSERT INTO image_files (image_name, image_size, user_id, create_date, album)
VALUES('$image_name', '$image_size', '$user_id', now(), '$album')");


$sql = mysql_query($add_image)or die("SQL Error: $add_image<br>" . mysql_error());

$otheralbum_cover = $user_name."-".$HTTP_POST_FILES['file']['name'][0];

mysql_query("UPDATE albumNames SET album_cover = '$otheralbum_cover' WHERE album= '$album' AND user_id = '$user_id'")or die ("Link Create Error:" .mysql_error());
}
endforeach;
//

}

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.