This function will download images from another site , resize them and put suffix (if needed).
function download_resized_jpeg($filename,$width,$height,$suffix){ $name = explode('/',$filename); $newfilename = end($name); // Content type //header('Content-Type: image/jpeg'); list($width_orig, $height_orig, $type) = getimagesize($filename); $ratio_orig = $width_orig/$height_orig; if ($width/$height > $ratio_orig) { $width = $height*$ratio_orig; } else { $height = $width/$ratio_orig; } // Resample $image_p = imagecreatetruecolor($width, $height); if ($type == 1) { $image = imagecreatefromgif($filename); } elseif ($type == 2) { $image = imagecreatefromjpeg($filename); } elseif ($type == 3) { $image = imagecreatefrompng($filename); } else { $image = imagecreatefromwbmp($filename); } if($type==1 or $type==3) //this code below should preserve transparency but I couldn't try it out for now... { imagealphablending($image_p, false); imagesavealpha($image_p, true); imagecolortransparent($image_p, imagecolorallocatealpha($image_p, 0, 0, 0, 127)); } imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); // Output if ($type == 1) imagegif ($image_p, "../pictures/$newfilename$suffix".".gif", 100); elseif ($type == 2) imagejpeg($image_p, "../pictures/$newfilename$suffix".".jpg", 100); elseif ($type == 3) imagepng ($image_p, "../pictures/$newfilename$suffix".".png", 0); else imagewbmp ($image_p, "../pictures/$newfilename$suffix".".bmp", 100); }