View file album/pre2.php

File size: 1.84Kb
<?php
// error_reporting(0); // это надо убрать и исправить ошибки!
require '../system/inc/core.php';
$inp = 'photo/' . $_GET['file'] . '';  //Путь к файлу
if((strpos($_GET[file], "..")!==FALSE)|!$_GET[file]){
header("HTTP/1.0 404 Not Found");
header("Status: 404 Not Found");
$inp = "img/700.png"; //Путь к файлу, который будет выведен, если изображения не существует
}
if(!file_exists($inp)|is_dir($inp)){
header("HTTP/1.0 404 Not Found");
header("Status: 404 Not Found");
$inp = "img/700.png"; //Путь к файлу, который будет выведен, если изображения не существует
}
$wid = 100; //Размер превью в пикселах
$path_info = pathinfo($inp);
if(strtolower($path_info[extension])=='jpg'|strtolower($path_info[extension])=='jpeg')$res = imageCreateFromJpeg($inp);
else{
if(strtolower($path_info[extension])=='png')$res = imageCreateFromPng($inp);
else{
if(strtolower($path_info[extension])=='gif'){$res = imageCreateFromGif($inp);
}else{
header("HTTP/1.0 404 Not Found");
header("Status: 404 Not Found");
$inp = "img/700.png";
$res = imageCreateFromJpeg($inp);
}
}
}
$prop = getimagesize($inp);
$newWidth = $wid;
$newHeight = $prop[1]*($wid/$prop[0]);
$tmp = imageCreateTrueColor($newWidth,$newWidth);imageAlphaBlending($tmp, false);
imageSaveAlpha($tmp, true);
imagefill($tmp, 0, 0, IMG_COLOR_TRANSPARENT);
if($newWidth>$newHeight)imageCopyResampled($tmp, $res, -($newWidth-$newHeight), 0, 0, 0, $newWidth+2*($newWidth-$newHeight),$newHeight+($newWidth-$newHeight),$prop[0], $prop[1]);
else
imageCopyResampled($tmp, $res, 0, ($newWidth-$newHeight)/2, 0, 0, $newWidth,$newHeight, $prop[0], $prop[1]);
header('Content-Type: image/png');
imagePng($tmp);
imagedestroy($tmp);
?>