PHP批量生成缩略图的代码
发布时间:2020-05-11 10:38:46 所属栏目:PHP教程 来源:互联网
导读:本文件可以用于自动创建目录下所有JPG图片的缩略图,放到图片目录下运行即可。
缺点:长宽不一的图片会被拉伸变形,不能智能裁切,需要智能裁切的,请自行研究。 <?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 -> <a href='{$file}'>$file</a>" . ENDL; $im = @imagecreatefromjpeg($file); if(!$im) { $op .= "fail -> couldn't create sour image pointer." . ENDL; continue; } if(file_exists($config['prefix'] . $file) || substr($file, 0, strlen($config['prefix'])) == $config['prefix']) { $op .= "note -> this file has already got a thumbnail." . ENDL; continue; } $to = imagecreatetruecolor($config['t_width'],$config['t_height']); if(!$to) { $op .= "fail -> couldn't create dest image pointer." . ENDL; continue; } if(!imagecopyresampled($to, $im, 0, 0, 0, 0, $config['t_width'], $config['t_height'], $im_width, $im_height)) { $op .= "fail -> couldn't create thumbnail. php fail." . ENDL; continue; } //保存文件 imagejpeg($to, $config['prefix'] . $file); $op .= "done -> created thumb: <a href='{$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; ?> (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |