Размер файла: 1.99Kb
<?php
if (!isset($_GET['img']))
exit;
function format($name)
{
$f1 = strrpos($name, ".");
$f2 = substr($name, $f1 + 1, 999);
$fname = strtolower($f2);
return $fname;
}
$type = isset($_GET['type']) ? abs(intval($_GET['type'])) : 0;
$image = isset($_GET['img']) ? htmlspecialchars(urldecode($_GET['img'])) : null;
if ($image && file_exists($image)) {
$att_ext = strtolower(format($image));
$pic_ext = array('gif', 'jpg', 'jpeg', 'png');
if (in_array($att_ext, $pic_ext)) {
$info_file = GetImageSize($image);
$w_or = $info_file[0];
$h_or = $info_file[1];
$type_file = $info_file['mime'];
switch ($type) {
case 1:
$w = 40;
$h = 40;
break;
default:
if ($w_or > 240) {
$w = 240;
$h = ceil($h_or / ($w_or / 240));
}
else {
$w = $w_or;
$h = $h_or;
}
}
switch ($att_ext) {
case "gif":
$image_file = ImageCreateFromGIF($image);
break;
case "jpg":
$image_file = ImageCreateFromJPEG($image);
break;
case "jpeg":
$image_file = ImageCreateFromJPEG($image);
break;
case "png":
$image_file = ImageCreateFromPNG($image);
break;
}
$two_image = imagecreatetruecolor($w, $h);
imagecopyresampled($two_image, $image_file, 0, 0, 0, 0, $w, $h, $w_or, $h_or);
ob_start();
imageJpeg($two_image, null, 60);
ImageDestroy($image_file);
imagedestroy($two_image);
header("Content-Type: image/jpeg");
header('Content-Disposition: inline; filename=preview.jpg');
header('Content-Length: ' . ob_get_length());
ob_end_flush();
}
}
?>