Помню как я намучался когда первый раз столкнулся с проблемой превьюшек, поэтому и выложил этот скрипт, а вдруг кому-то поможет. С описанием я заморачиватся не стал - это же готовые решения, а не учебное пособие. Вобщем пользуйтесь.
З.Ы. Скрипт нужно разместить в отдельном файле, например thumb.php
Код:
<?
//Ф-ия возвращает уменьшенную копию изображения. И вызывается в фомате
//thumb.php?id=путь_к_рисунку, так же можно задать размеры, или только высоту, тогда
//картинка уменьшится сохранив пропорции. Скрипт понимает такие форматы изображения как GIF,JPEG,PNG
//а возвращает в формате JPEG.Из HTML вызывать ф-ию нужно так <img src=thumb.php?id=путь_к_рисунку>
// список параметров thumb(путь_к_рисунку, ширина,высота)
function thumb($path,$x,$y=0)
{
$t=getimagesize ($path) or die('Unknown type of image');
$with=$t[0];
$height=$t[1];
switch ($t[2])
{
case 1:
$type='GIF';
$img=imagecreatefromgif($path);
break;
case 2:
$type='JPEG';
$img=imagecreatefromjpeg($path);
break;
case 3:
$type='PNG';
$img=imagecreatefrompng($path);
break;
}
if($y==0)
{$y=$x*($height/$with);}
header("Content-type: image/".$type);
$thumb=imagecreate($x,$y);
imagecopyresized($thumb,$img,0,0,0,0,$x,$y,$with,$height);
$thumb=imagejpeg($thumb);
return $thumb;
}
if($id)
{
echo thumb($id,200);
}
?>