PHP批量生成缩略图的代码

前端之家收集整理的这篇文章主要介绍了PHP批量生成缩略图的代码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

缺点:长宽不一的图片会被拉伸变形,不能智能裁切,需要智能裁切的,请自行研究。
<?PHP
$config=array();
$config['path']="./";
$config['t_width']=120;
$config['theight']=98;
$config['ignore']=array("",".","..");
$config['prefix']="thumb
";
$done=0;
define("IMAGE_JPG",2);
define("ENDL","\n");
if($handle=opendir($config['path'])){
while(false!==($file=readdir($handle))){
if(!array_search($file,$config['ignore'])){ list($im_width,$im_height,$type)=getimagesize($file);
if($type!=IMAGE_JPG){
continue;
} $op.="found-><ahref='{$file}'>$file".ENDL;
$im=@imagecreatefromjpeg($file);
if(!$im){
$op.="fail->couldn'tcreatesourimagepointer.".ENDL;
continue;
} if(file_exists($config['prefix'].$file)||substr($file,strlen($config['prefix']))==$config['prefix']){
$op.="note->thisfilehasalreadygotathumbnail.".ENDL;
continue;
}
$to=imagecreatetruecolor($config['t_width'],$config['t_height']);
if(!$to){
$op.="fail->couldn'tcreatedestimagepointer.".ENDL;
continue;
} if(!imagecopyresampled($to,$im,$config['t_width'],$config['t_height'],$im_width,$im_height)){
$op.="fail->couldn'tcreatethumbnail.PHPfail.".ENDL;
continue;
} //保存文件
imagejpeg($to,$config['prefix'].$file);
$op.="done->createdthumb:<ahref='{$config['prefix']}{$file}'>{$config['prefix']}{$file}".ENDL;
$done++;
}
}
}
closedir($handle);
$op.="fin->{$done}file(s)written".ENDL;
echo"

"; 
echo$op;
echo"
";
exit;
?>

猜你在找的PHP相关文章