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 Class 文章
Apr 04 PHP
smarty模板中拼接字符串的方法
Feb 14 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
Jul 15 PHP
PHP实用函数分享之去除多余的0
Feb 06 PHP
php判断两个日期之间相差多少个月份的方法
Jun 18 PHP
PHP输入流php://input实例讲解
Dec 22 PHP
yii2中dropDownList实现二级和三级联动写法
Apr 26 PHP
Yii2.0实现生成二维码功能实例
Oct 24 PHP
PHP registerXPathNamespace()函数讲解
Feb 03 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
Jan 02 PHP
php测试kafka项目示例
Feb 06 PHP
Memcached介绍及php-memcache扩展安装
Apr 01 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设计模式之装饰者模式代码实例
2015/05/11 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
javascript的console.log()用法小结
2012/05/31 Javascript
jQuery写fadeTo示例代码
2014/02/21 Javascript
JavaScript中document对象使用详解
2015/01/06 Javascript
JavaScript判断变量是否为空的自定义函数分享
2015/01/31 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
JavaScript基本数据类型及值类型和引用类型
2015/08/25 Javascript
JS实现的论坛Ajax打分效果完整实例
2015/10/31 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
2015/11/02 Javascript
判断js的Array和Object的实现方法
2016/08/29 Javascript
nodejs爬虫遇到的乱码问题汇总
2017/04/07 NodeJs
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
详解微信小程序Radio选中样式切换
2017/07/06 Javascript
react-native中ListView组件点击跳转的方法示例
2017/09/30 Javascript
Vue之mixin全局的用法详解
2018/08/22 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
vue实现行列转换的一种方法
2019/08/06 Javascript
python flask 多对多表查询功能
2017/06/25 Python
Python实现的双色球生成功能示例
2017/12/18 Python
Flask框架实现给视图函数增加装饰器操作示例
2018/07/16 Python
Python3运算符常见用法分析
2020/02/14 Python
python实现翻译word表格小程序
2020/02/27 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
CSS3 box-sizing属性
2009/04/17 HTML / CSS
css3 中translate和transition的使用方法
2020/03/26 HTML / CSS
CSS3实现红包抖动效果
2020/12/23 HTML / CSS
什么是事务?事务有哪些性质?
2012/03/11 面试题
简历自荐信
2013/12/02 职场文书
宿舍打麻将检讨书
2014/01/24 职场文书
个人年终总结结尾
2015/03/06 职场文书
全国助残日活动总结
2015/05/11 职场文书
借条如何写
2015/05/26 职场文书
大脑的记忆过程在做数据压缩,不同图形也有共同的记忆格式
2022/04/29 数码科技