PHP批量生成缩略图的代码
2018-09-07 21:44
缺点:长宽不一的图片会被拉伸变形,不能智能裁切,需要智能裁切的,请自行研究。
<?php
$config=array();
$config[path]=./;
$config[t_width]=120;
$config[t_height]=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</a>.ENDL;
$im=@imagecreatefromjpeg($file);
if(!$im){
$op.=fail->couldntcreatesourimagepointer..ENDL;
continue;
}
if(file_exists($config[prefix].$file)substr($file,0,strlen($config[prefix]))==$config[prefix]){
$op.=note->thisfilehasalreadygotathumbnail..ENDL;
continue;
}
$to=imagecreatetruecolor($config[t_width],$config[t_height]);
if(!$to){
$op.=fail->couldntcreatedestimagepointer..ENDL;
continue;
}
if(!imagecopyresampled($to,$im,0,0,0,0,$config[t_width],$config[t_height],$im_width,$im_height)){
$op.=fail->couldntcreatethumbnail.phpfail..ENDL;
continue;
}
//保存文件
imagejpeg($to,$config[prefix].$file);
$op.=done->createdthumb:<ahref={$config[prefix]}{$file}>{$config[prefix]}{$file}</a>.ENDL;
$done++;
}
}
}
closedir($handle);
$op.=fin->{$done}file(s)written.ENDL;
echo<pre>;
echo$op;
echo</pre>;
exit;
?>
上一篇:php车辆违章查询数据示例