|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /domains/klengineers/klwebsite-controller/includes/ |
Upload File : |
<?php
$imagefolder='../../photos/';
//$thumbsfolder='../../thumb/';
$pics=directory($imagefolder,"jpg,JPG,JPEG,jpeg,png,PNG");
$pics=ditchtn($pics,"tn_");
//
/*
Function ditchtn($arr,$thumbname)
filters out thumbnails
*/
function ditchtn($arr,$thumbname)
{
foreach ($arr as $item)
{
if (!preg_match("/^".$thumbname."/",$item)){$tmparr[]=$item;}
}
return $tmparr;
}
/*
Function createthumb($name,$filename,$new_w,$new_h)
creates a resized image
variables:
$name Original filename
$filename Filename of the resized image
$new_w width of resized image
$new_h height of resized image
*/
function createthumb($name,$filename,$con_w,$con_h)
{
$toexplode=substr($name,6,strlen($name));
$system=explode(".",$toexplode);
if (preg_match("/gif|Gif/",$system[1])){$src_img=imagecreatefromgif($name);}
if (preg_match("/jpg|jpeg|JPG|JPEG/",$system[1])){$src_img=imagecreatefromjpeg($name);}
if (preg_match("/png/",$system[1])){$src_img=imagecreatefrompng($name);}
/**************************modifications by rejith******************/
$con_height=$con_h;
$con_width=$con_w;
$height=imagesy($src_img);
$width=imagesx($src_img);
$ratio=$width/$height;
while(true)
{
$ratio=round($ratio,2);
if($ratio>1)
{
$ratio=$ratio/2;
}
else
{
break;
}
}
$least_height=$height;
$least_width=$width;
while(true)
{
$least_height=$least_height*$ratio;
$least_width=$least_width*$ratio;
if($least_height<10 && $least_width<10)
{
break;
}
}
$least_height=ceil($least_height);
$least_width=ceil($least_width);
$correct_height=0;
$correct_width=0;
while(true)
{
$correct_height=$correct_height+$least_height;
$correct_width=$correct_width+$least_width;
if($width>$height)
{
if($correct_width>=$con_width)
{
break;
}
}
else if($width<$height)
{
if($correct_height>=$con_height)
{
break;
}
}
else
{
if($correct_height>=$con_height)
{
break;
}
}
}
/************modifications by rejith ends here***************************/
$dst_img=ImageCreateTrueColor($correct_width,$correct_height);
imagecopyresampled($dst_img,$src_img,0,0,0,0,$correct_width,$correct_height,$width,$height);
if (preg_match("/png/",$system[1]))
{
imagepng($dst_img,$filename);
} else {
imagejpeg($dst_img,$filename);
}
imagedestroy($dst_img);
imagedestroy($src_img);
}
function directory($dir,$filters)
{
$handle=opendir($dir);
$files=array();
if ($filters == "all"){while(($file = readdir($handle))!==false){$files[] = $file;}}
if ($filters != "all")
{
$filters=explode(",",$filters);
while (($file = readdir($handle))!==false)
{
for ($f=0;$f<sizeof($filters);$f++):
$system=explode(".",$file);
if ($system[1] == $filters[$f]){$files[] = $file;}
endfor;
}
}
closedir($handle);
return $files;
}
?>