Server IP : 180.180.241.3 / Your IP : 216.73.216.252 Web Server : Microsoft-IIS/7.5 System : Windows NT NETWORK-NHRC 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.3.28 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/AppServ/www/umedia3/_idx.presentation/ |
Upload File : |
<?php /* ---------------------------------------------------------------- Script coming with JonDesign's SmoothGallery (http://smoothgallery.jondesign.net). It is an adapted version of http://sneak.co.nz/2006/10/27/dynamic-image-resizing/ which is itself an improvement of the original script from Timothy Crowe's 'veryraw' website, with caching additions added by Trent Davies: http://veryraw.com/history/2005/03/image-resizing-with-php/ Thanks to: Tim Novinger for finding the image extension problem (fixed by an strtolower()) ---------------------------------------------------------------- */ $max_height = 1000; $max_width = 2000; if (isset($_GET["imgfile"])) { if (function_exists(get_magic_quotes_gpc) && get_magic_quotes_gpc()) { $image = stripslashes( $_GET["imgfile"] ); } else $image = $_GET["imgfile"]; if (isset($_GET["max_width"])) { if($_GET["max_width"] < 2000) $max_width = $_GET["max_width"]; } if (isset($_GET["max_height"])) { if($_GET["max_height"] < 1000) $max_height = $_GET["max_height"]; } if (strrchr($image, '/')) { $filename = substr(strrchr($image, '/'), 1); // remove folder references } else { $filename = $image; } $size = getimagesize($image); $width = $size[0]; $height = $size[1]; // get the ratio needed $x_ratio = $max_width / $width; $y_ratio = $max_height / $height; // if image already meets criteria, load current values in // if not, use ratios to load new size info if (($width <= $max_width) && ($height <= $max_height) ) { $tn_width = $width; $tn_height = $height; } else if (($x_ratio * $height) < $max_height) { $tn_height = ceil($x_ratio * $height); $tn_width = $max_width; } else { $tn_width = ceil($y_ratio * $width); $tn_height = $max_height; } /* Caching additions by Trent Davies */ // first check cache // cache must be world-readable $resized = 'cache/'.$tn_width.'x'.$tn_height.'-'.$filename; $imageModified = @filemtime($image); $thumbModified = @filemtime($resized); header("Content-type: image/jpeg"); // if thumbnail is newer than image then output cached thumbnail and exit if($imageModified<$thumbModified) { header("Last-Modified: ".gmdate("D, d M Y H:i:s",$thumbModified)." GMT"); readfile($resized); exit; } // read image $ext = strtolower(substr(strrchr($image, '.'), 1)); // get the file extension switch ($ext) { case 'jpg': // jpg $src = imagecreatefromjpeg($image) or notfound(); break; case 'png': // png $src = imagecreatefrompng($image) or notfound(); break; case 'gif': // gif $src = imagecreatefromgif($image) or notfound(); break; default: notfound(); } // set up canvas $dst = imagecreatetruecolor($tn_width,$tn_height); imageantialias ($dst, true); // copy resized image to new canvas imagecopyresampled ($dst, $src, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height); /* Sharpening adddition by Mike Harding */ // sharpen the image (only available in PHP5.1) /*if (function_exists("imageconvolution")) { $matrix = array( array( -1, -1, -1 ), array( -1, 32, -1 ), array( -1, -1, -1 ) ); $divisor = 24; $offset = 0; imageconvolution($dst, $matrix, $divisor, $offset); }*/ // send the header and new image imagejpeg($dst, null, 90); imagejpeg($dst, $resized, 90); // write the thumbnail to cache as well... // clear out the resources imagedestroy($src); imagedestroy($dst); } ?>