File size: 2.63Kb
<?php
require('sys/config.php');
$id = isset($_GET['id'])?fil($_GET['id'],'int'):'';
if($sql->result('SELECT COUNT(*) FROM `files` WHERE `id`="'.$id.'"')==0)
{
exit;
} else
{$file = $sql->query('SELECT `real`,`ext` FROM `files` WHERE `id`="'.$id.'"')->fetch_assoc();}
$newwidth = intval($_GET['w']);
$newheight = intval($_GET['h']);
if(!in_array($file['ext'],array('jpg','gif','png','bmp'))){exit;}
$ext = '.'.$file['ext'];
$dir = $_SERVER['DOCUMENT_ROOT'].'/files/';
$filename = $file['real'];
list($width, $height) = getimagesize($dir.$filename); // Возвращает ширину и высоту
switch ($ext) {
case '.jpg':
$source = imagecreatefromjpeg($dir.$filename);
break;
case '.gif':
$source = imagecreatefromgif($dir.$filename);
break;
case '.png':
$source = imagecreatefrompng($dir.$filename);
break;
case '.bmp':
$source = imagecreatefromwbmp($dir.$filename);
}
/**
* Функция наложения, копирования изображения
*/
$new = imageCreateTrueColor($newwidth, $newheight);
imageCopyResampled($new, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
$color = imagecolorallocate($new, 0, 100, 200);
imagestring($new, 2,($newwidth-strlen($_SERVER['HTTP_HOST'])*6), $newheight-15, $_SERVER['HTTP_HOST'], $color);
/**
* Создаем изображение
*/
switch ($ext) {
case '.jpg':
header('Content-type: image/jpeg');
imagejpeg($new,null, 90); // Для JPEG картинок
break;
case '.gif':
header('Content-type: image/gif');
imagegif($new); // Для GIF картинки
break;
case '.png':
header('Content-type: image/png');
imagepng($new); // Для PNG картинок
break;
case '.bmp':
header('Content-type: image/bmp');
imagewbmp($new); // Для BMP картинки
break;
}
/*
* Очищаем оперативную память сервера от временных файлов,
* которые потребовались для создания миниатюры
**/
@imagedestroy($new);
if(!isset($_GET['no'])){$sql->query('UPDATE `files` SET `kol`=`kol`+1 WHERE `id`="'.$id.'"');}
exit;
?>