Orionsbelter Posted May 13, 2011 Share Posted May 13, 2011 I have have acquired this script for cropping images however it only crops the image upon upload to save to my thumbnails directory. i need it tooo do this three times at third different sizes i need it too allow me to do the main image at h:420 w:300 and save it too ../images/products/ then the second needs to be a medium image at h:252 w:180 and save it too ../images/products/medium then the third needs to be the thumbnail which is the code below at h:102 w:72 and save it too ../images/products/thumbnails/ the code below works perfectly fine to create a quailty thumbnail at the right size and it saves it in the right directory but when i try to clone the code to do the above two it's not allowing me to use some of the same functions again. how can this be done? //define a maxim size for the uploaded images in Kb define ("MAX_SIZE","300"); //This function reads the extension of the file. It is used to determine if the file is an image by checking the extension. function getExtension($str) { $i = strrpos($str,"."); if (!$i) { return ""; } $l = strlen($str) - $i; $ext = substr($str,$i+1,$l); return $ext; } //get the extension of the file in a lower case format $filename = stripslashes($_FILES['Image1']['name']); $extension = getExtension($filename); $extension = strtolower($extension); define( 'DESIRED_IMAGE_WIDTH', 150 ); define( 'DESIRED_IMAGE_HEIGHT', 150 ); $source_path = $_FILES[ 'Image1' ][ 'tmp_name' ]; //get the extension of the file and check if it is support or not if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) {die('This file type is not support, you may only use PNG GIF and JPG files.');} $size=filesize($_FILES['image']['tmp_name']); if ($size > MAX_SIZE*1024){ die('The File Size Is Too Large!'); } // // Add file validation code here // list( $source_width, $source_height, $source_type ) = getimagesize( $source_path ); switch ( $source_type ) { case IMAGETYPE_GIF: $source_gdim = imagecreatefromgif( $source_path ); break; case IMAGETYPE_JPEG: $source_gdim = imagecreatefromjpeg( $source_path ); break; case IMAGETYPE_PNG: $source_gdim = imagecreatefrompng( $source_path ); break; } $source_aspect_ratio = $source_width / $source_height; $desired_aspect_ratio = DESIRED_IMAGE_WIDTH / DESIRED_IMAGE_HEIGHT; if ( $source_aspect_ratio > $desired_aspect_ratio ) { // // Triggered when source image is wider // $temp_height = DESIRED_IMAGE_HEIGHT; $temp_width = ( int ) ( DESIRED_IMAGE_HEIGHT * $source_aspect_ratio ); } else { // // Triggered otherwise (i.e. source image is similar or taller) // $temp_width = DESIRED_IMAGE_WIDTH; $temp_height = ( int ) ( DESIRED_IMAGE_WIDTH / $source_aspect_ratio ); } // // Resize the image into a temporary GD image // $temp_gdim = imagecreatetruecolor( $temp_width, $temp_height ); imagecopyresampled( $temp_gdim, $source_gdim, 0, 0, 0, 0, $temp_width, $temp_height, $source_width, $source_height ); // // Copy cropped region from temporary image into the desired GD image // $x0 = ( $temp_width - DESIRED_IMAGE_WIDTH ) / 2; $y0 = ( $temp_height - DESIRED_IMAGE_HEIGHT ) / 2; $desired_gdim = imagecreatetruecolor( DESIRED_IMAGE_WIDTH, DESIRED_IMAGE_HEIGHT ); imagecopy( $desired_gdim, $temp_gdim, 0, 0, $x0, $y0, DESIRED_IMAGE_WIDTH, DESIRED_IMAGE_HEIGHT ); // // Render the image // Alternatively, you can save the image in file-system or database // if($extension == "jpg"){imagejpeg( $desired_gdim, '../images/products/thumbnails/test.jpg' );} if($extension == "gif"){imagegif( $desired_gdim, '../images/products/thumbnails/test.gif' );} if($extension == "png"){imagepng( $desired_gdim, '../images/products/thumbnails/test.png' );} // // Add clean-up code here // thanks for reading. Link to comment https://forums.phpfreaks.com/topic/236356-how-can-i-use-this-script/ Share on other sites More sharing options...
Orionsbelter Posted May 13, 2011 Author Share Posted May 13, 2011 ? Link to comment https://forums.phpfreaks.com/topic/236356-how-can-i-use-this-script/#findComment-1215232 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.