Jump to content

How can i use this script?


Recommended Posts

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

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.