| Current Path : /var/www/iplanru/data/www/i-plan.ru/libraries/imagecache/ |
| Current File : /var/www/iplanru/data/www/i-plan.ru/libraries/imagecache/imagecache.php |
<?php
class ImageCache
{
function ImageCacheJPG($path, $extension, $width, $height, $q, $method="fix")
{
$pathcache="/cache/{$extension}/image/{$width}x{$height}x{$q}-{$method}/";
if (file_exists($_SERVER['DOCUMENT_ROOT'].'/'.$path))
{
if (!file_exists($_SERVER['DOCUMENT_ROOT'].$pathcache))
{mkdir($_SERVER['DOCUMENT_ROOT'].$pathcache,0777,true);}
$info = pathinfo($path);
$filename = basename($path,'.'.$info['extension']);
$ext=strtolower($info['extension']);
if (!file_exists($_SERVER['DOCUMENT_ROOT'].$pathcache.$filename.'.jpg'))
{
if ($method=="ratio")
{
list($width_orig, $height_orig) = getimagesize($_SERVER['DOCUMENT_ROOT'].'/'.$path);
$ratio_orig = $width_orig/$height_orig;
if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}
}
if ($ext=='jpg' or $ext=='jpeg')
{
$im=imagecreatefromjpeg($_SERVER['DOCUMENT_ROOT'].'/'.$path);
$im1=imagecreatetruecolor($width,$height);
}
if ($ext=='png')
{
$im=imagecreatefrompng($_SERVER['DOCUMENT_ROOT'].'/'.$path);
$im1=imagecreatetruecolor($width,$height);
imagecolortransparent($im, imagecolorallocate($im, 0, 0, 0));
imageAlphaBlending($im, false);
imageSaveAlpha($im,true);
imagecolortransparent($im1, imagecolorallocate($im1, 0, 0, 0));
imageAlphaBlending($im1, false);
imageSaveAlpha($im1,true);
}
if ($ext=='gif')
{
$im=imagecreatefromgif($_SERVER['DOCUMENT_ROOT'].'/'.$path);
$im1=imagecreatetruecolor($width,$height);
imagealphablending($im1, false);
}
imagecopyresampled($im1,$im,0,0,0,0,$width,$height,imagesx($im),imagesy($im));
imagejpeg($im1,$_SERVER['DOCUMENT_ROOT'].$pathcache.$filename.'.jpg',$q);
imagedestroy($im);
imagedestroy($im1);
}
return $pathcache.$filename.'.jpg';
}
else
{
return $path;
}
}
};
?>