Files
globelus.pl/libraries/thumb.php
2024-11-11 15:28:20 +01:00

46 lines
1.1 KiB
PHP

<?
require_once '../autoload/class.Image.php';
error_reporting( 0 );
$img = $_GET['img'];
$width = $_GET['w'];
if ( !$width )
$width = 500;
$height = $_GET['h'];
if ( !$height )
$height = 500;
$crop_w = $_GET['c_w'];
$crop_h = $_GET['c_h'];
$img_md5 = md5( $img . $height . $width . $crop_h . $crop_w );
$cache_dir = 'temp/' . $img_md5[0] . '/' . $img_md5[1] . '/' . $img_md5[2] . '/';
if ( !file_exists( '../' . $cache_dir . $img_md5 ) )
{
$img = new ImageManipulator( '../' . $img );
$img -> resample( $width, $height );
if ( $crop_w && $crop_h )
{
$centreX = round( $img -> getWidth() / 2 );
$centreY = round( $img -> getHeight() / 2 );
$x1 = $centreX - $crop_w / 2;
$y1 = $centreY - $crop_h / 2;
$x2 = $centreX + $crop_w / 2;
$y2 = $centreY + $crop_h / 2;
$img -> crop( $x1, $y1, $x2, $y2 );
}
$img -> save( '../' . $cache_dir . $img_md5 );
chmod( '../' . $cache_dir . $img_md5, 0755 );
}
header( 'Cache-Control: public' );
header( "Content-type: image/jpeg" );
readfile( '../' . $cache_dir . $img_md5 );