Библиотека программиста

23.04.2024 - Уменьшенные копии изображений (превью) на PHP

Помню как я намучался когда первый раз столкнулся с проблемой превьюшек, поэтому и выложил этот скрипт, а вдруг кому-то поможет. С описанием я заморачиватся не стал - это же готовые решения, а не учебное пособие. Вобщем пользуйтесь.

З.Ы. Скрипт нужно разместить в отдельном файле, например thumb.php

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);
}

Опубликовано на сайте: http://www.coders-library.ru
Прямая ссылка: http://www.coders-library.ru/index.php?name=news&op=view&id=326