Function to create thumbnails of the images. this create thumbnails on runtime and will be displayed on browser. it accepts jpg,gif and png. the function is extendable. The function will generate thumbails of the images in the server or images from other domains.
Save the following code as thumbimage.php
the thumbnail generator is triggered by calling the page as thumbimage.php?src=sample.png
where src is the image file name. In this example the src is passed as urlencoded string.
file: thumbimage.php
Sample usage
<img src="thumbimage.php?src=sample.gif" style="border: 1px solid #000000; padding: 5px;" />
<img src="thumbimage.php?src=<?php echo(urlencode("my_test_img.jpg")); ?>" style="border: 1px solid #000000; padding: 5px;" />
Save the following code as thumbimage.php
the thumbnail generator is triggered by calling the page as thumbimage.php?src=sample.png
where src is the image file name. In this example the src is passed as urlencoded string.
file: thumbimage.php
<?php
ob_start();
function createImage( $upload, $newWidth =120) {
if (!$info = getimagesize($upload) )
return false;
//create crude aspect ratio:
$aspect = $info[0] / $info[1];
$newHeight = round( $newWidth/$aspect );
$mimetype=$info['2'];
if( $mimetype == 2 )
$src = @imagecreatefromjpeg("$upload");
elseif( $mimetype == 1 )
$src = @imagecreatefromgif("$upload");
elseif( $mimetype == 3 )
$src = @imagecreatefrompng("$upload");
if ( !$src )
return false;
$tmp = @imagecreatetruecolor( $newWidth, $newHeight );
imagecopyresampled( $tmp, $src, 0, 0, 0, 0, $newWidth, $newHeight, $info[0], $info[1] );
ob_end_flush();
header("Content-type: {$mimetype}");
if( $mimetype == 2 )
imagejpeg( $tmp );
elseif( $mimetype == 1 )
imagegif( $tmp );
elseif( $mimetype == 3 )
imagepng( $tmp );
imagedestroy( $src );
imagedestroy( $tmp );
return true;
}
if( isset($_GET["src"]) && trim($_GET["src"]) != "" ){
// for creating thumbnails of images from other domains, then comment
//the below 'IF' condition and instead of the relative url give the absolute url
if( is_file( "/yourImageFolder/".urldecode(trim($_GET["src"]) )) )
createImage( "yourImageFolder/".trim($_GET["src"]) , 120);
}
?>
ob_start();
function createImage( $upload, $newWidth =120) {
if (!$info = getimagesize($upload) )
return false;
//create crude aspect ratio:
$aspect = $info[0] / $info[1];
$newHeight = round( $newWidth/$aspect );
$mimetype=$info['2'];
if( $mimetype == 2 )
$src = @imagecreatefromjpeg("$upload");
elseif( $mimetype == 1 )
$src = @imagecreatefromgif("$upload");
elseif( $mimetype == 3 )
$src = @imagecreatefrompng("$upload");
if ( !$src )
return false;
$tmp = @imagecreatetruecolor( $newWidth, $newHeight );
imagecopyresampled( $tmp, $src, 0, 0, 0, 0, $newWidth, $newHeight, $info[0], $info[1] );
ob_end_flush();
header("Content-type: {$mimetype}");
if( $mimetype == 2 )
imagejpeg( $tmp );
elseif( $mimetype == 1 )
imagegif( $tmp );
elseif( $mimetype == 3 )
imagepng( $tmp );
imagedestroy( $src );
imagedestroy( $tmp );
return true;
}
if( isset($_GET["src"]) && trim($_GET["src"]) != "" ){
// for creating thumbnails of images from other domains, then comment
//the below 'IF' condition and instead of the relative url give the absolute url
if( is_file( "/yourImageFolder/".urldecode(trim($_GET["src"]) )) )
createImage( "yourImageFolder/".trim($_GET["src"]) , 120);
}
?>
Sample usage
<img src="thumbimage.php?src=sample.gif" style="border: 1px solid #000000; padding: 5px;" />
<img src="thumbimage.php?src=<?php echo(urlencode("my_test_img.jpg")); ?>" style="border: 1px solid #000000; padding: 5px;" />