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生成月历代码
Jun 14 PHP
phpmyadmin里面导入sql语句格式的大量数据的方法
Jun 05 PHP
PHP中改变图片的尺寸大小的代码
Jul 17 PHP
深入PHP autoload机制的详解
Jun 09 PHP
PHP页面间传递值和保持值的方法
Aug 24 PHP
php使用CutyCapt实现网页截图保存的方法
Oct 03 PHP
PHP实现读取文件夹及批量重命名文件操作示例
Apr 15 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
May 05 PHP
PHP+Apache实现二级域名之间共享cookie的方法
Jul 24 PHP
php使用pecl方式安装扩展操作示例
Aug 12 PHP
php设计模式之观察者模式定义与用法经典示例
Sep 19 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
Jun 05 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&amp;&amp;mysql)三
2006/10/09 PHP
PHP 函数执行效率的小比较
2010/10/17 PHP
PHP 文件编程综合案例-文件上传的实现
2013/07/03 PHP
ThinkPHP的URL重写问题
2014/06/22 PHP
PHP中的Session对象如何使用
2015/09/25 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
MSN消息提示类
2006/09/05 Javascript
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
jQuery中unbind()方法用法实例
2015/01/19 Javascript
改变checkbox默认选中状态及取值的实现代码
2016/05/26 Javascript
javascript基础进阶_深入剖析执行环境及作用域链
2017/09/05 Javascript
jquery中done和then的区别(详解)
2017/12/19 jQuery
详解React中传入组件的props改变时更新组件的几种实现方法
2018/09/13 Javascript
Python程序设计入门(3)数组的使用
2014/06/16 Python
浅谈Python中数据解析
2015/05/05 Python
Python 模板引擎的注入问题分析
2017/01/01 Python
Python实现控制台中的进度条功能代码
2017/12/22 Python
1 行 Python 代码快速实现 FTP 服务器
2018/01/25 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
django基础学习之send_mail功能
2019/08/07 Python
Python实现将蓝底照片转化为白底照片功能完整实例
2019/12/13 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
美国著名的婴儿学步鞋老品牌:Robeez
2016/08/20 全球购物
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
Hertz荷兰:荷兰和全球租车
2018/01/07 全球购物
世界上第一个创建了罩杯系统的美国内衣品牌:Maidenform
2019/03/23 全球购物
高级人员简历的自我评价分享
2013/11/03 职场文书
24岁生日感言
2014/01/13 职场文书
人力管理专业毕业生求职信
2014/02/27 职场文书
2014年国培研修感言
2014/03/09 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
2014年节能工作总结
2014/12/18 职场文书
护士2015年终工作总结
2015/04/29 职场文书
安全教育培训制度
2015/08/06 职场文书
读《推着妈妈去旅行》有感1500字
2019/10/15 职场文书
Nginx 根据URL带的参数转发的实现
2021/04/01 Servers