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安装攻略:常见问题解答(二)
Oct 09 PHP
关于页面优化和伪静态
Oct 11 PHP
PHP合并数组+与array_merge的区别分析
Aug 01 PHP
解析PHP实现下载文件的两种方法
Jul 05 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
Mar 28 PHP
重新认识php array_merge函数
Aug 31 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
Oct 30 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
Nov 10 PHP
PHP面向对象程序设计实例分析
Jan 26 PHP
PHP编写daemon process 实例详解
Nov 13 PHP
php字符串截取函数mb_substr用法实例分析
Jun 25 PHP
PHP命名空间与自动加载机制的基础介绍
Aug 25 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/07/04 PHP
Thinkphp中的curd应用实用要点
2015/01/04 PHP
PHP安全下载文件的方法
2016/04/07 PHP
JS删除字符串中重复字符方法
2014/03/09 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
2014/04/04 Javascript
js调试系列 初识控制台
2014/06/18 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
2015/02/06 Javascript
JQuery实现的图文自动轮播效果插件
2015/06/19 Javascript
详解JavaScript数组和字符串中去除重复值的方法
2016/03/07 Javascript
清除输入框内的空格
2016/12/21 Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
2017/05/08 jQuery
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
2019/07/19 Javascript
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
Ant-design-vue Table组件customRow属性的使用说明
2020/10/28 Javascript
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
Python实现测试磁盘性能的方法
2015/03/12 Python
python实现在windows下操作word的方法
2015/04/28 Python
使用httplib模块来制作Python下HTTP客户端的方法
2015/06/19 Python
Python多线程爬虫简单示例
2016/03/04 Python
详解Python使用tensorflow入门指南
2018/02/09 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
Python实现获取本地及远程图片大小的方法示例
2018/07/21 Python
python变量命名的7条建议
2019/07/04 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
在pytorch中动态调整优化器的学习率方式
2020/06/24 Python
独特的礼品和创新的科技产品:The Grommet
2018/02/24 全球购物
白酒市场营销方案
2014/02/25 职场文书
财务总监岗位职责
2014/03/07 职场文书
总账会计岗位职责
2014/03/13 职场文书
完美的中文自荐信
2014/05/24 职场文书
化学专业自荐信
2014/05/28 职场文书
校庆标语集锦
2014/06/25 职场文书
改革共识倡议书
2014/08/29 职场文书
MySQL中VARCHAR与CHAR格式数据的区别
2021/05/26 MySQL
mongodb的安装和开机自启动详细讲解
2021/08/02 MongoDB
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android