sa 2 skrypty:
jeden to:
<?php
function imagecopyresampledselection($filename, $desired_width = 100, $desired_height, $bordersize, $position)
{
// Get new dimensions
if($desired_width/$desired_height > $width/$height):
$new_width = $desired_width;
$new_height = $height * ($desired_width / $width);
else:
$new_width = $width * ($desired_height / $height);
$new_height = $desired_height;
endif;
// Resize
$image_p = imagecreatetruecolor($new_width, $new_height);
$image_f = imagecreatetruecolor($desired_width, $desired_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// Adjust position
switch($position)
{
case("topleft"):
$x = $bordersize;
$y = $bordersize;
break;
case("topright"):
$x = $new_width - $desired_width + $bordersize;
$y = $bordersize;
break;
case("bottomleft"):
$x = $bordersize;
$y = $new_height - $desired_height + $bordersize;
break;
case("bottomright"):
$x = $new_width - $desired_width + $bordersize;
$y = $new_height - $desired_height + $bordersize;
break;
case("center"):
$x = ($new_width - $desired_width) / 2 + $bordersize;
$y = ($new_height - $desired_height) / 2 + $bordersize;
break;
}
// Resample with 1px border
imagecopyresampled($image_f, $image_p, $bordersize, $bordersize, $x, $y, $desired_width - 2 * $bordersize,
$desired_height - 2 * $bordersize,
$desired_width - 2 * $bordersize,
$desired_height - 2 * $bordersize);
return $image_f;
}
# id [[user]]
# title [[filename]]
# filename [[path]]
# w
# h
# ext
$image_f = imagecopyresampledselection($_GET['fileName'], $_GET['w'], $_GET['h'], 1, "center");
header('Content-type: image/jpeg'); imagejpeg($image_f, 'v/'.$_GET['id'].'/'.$_GET['title'].'.'.$_GET['w'].'x'.$_GET['h'].'.'.$_GET['ext'], 100);
?>
<?php
// if(!ctype_digit($_GET['w'])) die('Hacking Attempt...');
// if(!ctype_digit($_GET['id'])) die('Hacking Attempt...');
# id [[user]]
# title [[filename]]
# filename [[path]]
# w
# ext
define('THUMBNAIL_SIZE', $_GET['w']);
if (!isset($_GET['fileName']) || $pathInfo = pathinfo($_GET['fileName']); if ($pathInfo['extension'] == 'jpg')
$pathInfo['extension'] = 'jpeg';
if (!function_exists(($fName =
'imagecreatefrom'.$pathInfo['extension'])))
$imgHandle = $fName($_GET['fileName']);
$ratio = ($imgW = imagesx($imgHandle)) /
($imgH = imagesy($imgHandle));
if ($ratio > 1) {
$newImgW = THUMBNAIL_SIZE;
$newImgH = THUMBNAIL_SIZE / $ratio;
} else {
$newImgW = THUMBNAIL_SIZE * $ratio;
$newImgH = THUMBNAIL_SIZE;
}
$newImageHandle = imagecreatetruecolor($newImgW,
$newImgH);
imagecopyresampled($newImageHandle, $imgHandle,
0, 0, 0, 0, $newImgW, $newImgH, $imgW, $imgH);
header('Content-type: image/'.$pathInfo['extension']); $fName = 'image'.$pathInfo['extension'];
$fName($newImageHandle);
imagejpeg($newImageHandle, 'v/'.$_GET['id'].'/'.$_GET['title'].'.'.$_GET['w'].'.'.$_GET['ext'] , 100);
?>
nie wiem wlasciwie dlaczego wywalaja one bledy mimo, ze obrazek jest tak naprawde zdjeciem ?! i normalnie dziala, a one piszcza cos (warningi i inne) ?