PHP批量生成缩略图的代码


Posted in PHP onJuly 19, 2008

缺点:长宽不一的图片会被拉伸变形,不能智能裁切,需要智能裁切的,请自行研究。
<?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; 
?>

PHP 相关文章推荐
php set_time_limit(0) 设置程序执行时间的函数
May 26 PHP
控制PHP的输出:缓存并压缩动态页面
Jun 11 PHP
php计算当前程序执行时间示例
Apr 24 PHP
php使用pdo连接并查询sql数据库的方法
Dec 24 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
May 09 PHP
CodeIgniter生成静态页的方法
May 17 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
Aug 12 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
Sep 22 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
Apr 20 PHP
thinkPHP框架整合tcpdf插件操作示例
Aug 07 PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
Nov 27 PHP
Discuz 模板引擎的封装类代码
Jul 18 #PHP
PHP令牌 Token改进版
Jul 18 #PHP
php下intval()和(int)转换使用与区别
Jul 18 #PHP
PHP入门学习的几个不错的实例代码
Jul 13 #PHP
php header()函数使用说明
Jul 10 #PHP
php下实现一个阿拉伯数字转中文数字的函数
Jul 10 #PHP
兼容PHP5的PHP目录管理函数库
Jul 10 #PHP
You might like
php除数取整示例
2014/04/24 PHP
php正则判断是否为合法身份证号的方法
2017/03/16 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
你可能不再需要JQUERY
2021/03/09 Javascript
js模拟类继承小例子
2010/07/17 Javascript
JavaScript随机排序(随即出牌)
2010/09/17 Javascript
jquery 追加tr和删除tr示例代码
2013/09/12 Javascript
Jquery中$.post和$.ajax的用法小结
2015/04/28 Javascript
分享12个非常实用的JavaScript小技巧
2016/05/11 Javascript
Vue.js中数组变动的检测详解
2016/10/12 Javascript
Vue关于数据绑定出错解决办法
2017/05/15 Javascript
vue组件实现文字居中对齐的方法
2017/08/23 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
2018/04/27 Javascript
jquery实现直播视频弹幕效果
2020/02/25 jQuery
python抓取京东小米8手机配置信息
2018/11/13 Python
windows下安装Python虚拟环境virtualenvwrapper-win
2019/06/14 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
2020/01/10 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
CSS3实现歌词进度文字颜色填充变化动态效果的思路详解
2020/06/02 HTML / CSS
顶级宝石首饰网络零售商:Angara
2016/10/25 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
医科大学生的自我评价
2013/12/04 职场文书
祖国在我心中演讲稿
2014/01/15 职场文书
《蚂蚁和蝈蝈》教学反思
2014/02/24 职场文书
最美护士演讲稿
2014/08/27 职场文书
股份合作协议书
2014/09/10 职场文书
项目验收申请报告
2015/05/15 职场文书
2015年学校总务工作总结
2015/07/20 职场文书
百年校庆宣传标语口号
2015/12/26 职场文书
初中思想品德教学反思
2016/02/24 职场文书
go结构体嵌套的切片数组操作
2021/04/28 Golang
Canvas绘制像素风图片的示例代码
2021/09/25 HTML / CSS
【海涛dota解说】DCG联赛第一周 LGD VS DH
2022/04/01 DOTA
Windows Server 2019 域控制器安装图文教程
2022/04/28 Servers