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 相关文章推荐
不用数据库的多用户文件自由上传投票系统(3)
Oct 09 PHP
php GD绘制24小时柱状图
Jun 28 PHP
网页游戏开发入门教程二(游戏模式+系统)
Nov 02 PHP
php并发对MYSQL造成压力的解决方法
Feb 21 PHP
解析php DOMElement 操作xml 文档的实现代码
May 10 PHP
解析PHP中ob_start()函数的用法
Jun 24 PHP
PHP远程调试之XDEBUG
Dec 29 PHP
浅析Yii2缓存的使用
May 10 PHP
PHP将URL转换成短网址的算法分享
Sep 13 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
Dec 21 PHP
PHP常量define和const的区别详解
May 18 PHP
php实现根据身份证获取精准年龄
Feb 26 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写出自己的BLOG系统 2
2010/04/12 PHP
PHP foreach循环使用详解与实例代码
2010/05/08 PHP
Linux中用PHP判断程序运行状态的2个方法
2014/05/04 PHP
php连接oracle数据库及查询数据的方法
2014/12/29 PHP
使用YII2框架实现微信公众号中表单提交功能
2017/09/04 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
php实现图片压缩处理
2020/09/09 PHP
利用Keydown事件阻止用户输入实现代码
2014/03/11 Javascript
JavaScript中的数据类型转换方法小结
2015/10/26 Javascript
Jquery Easyui对话框组件Dialog使用详解(14)
2016/12/19 Javascript
JavaScript ES6中export、import与export default的用法和区别
2017/03/14 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
Vue表单demo v-model双向绑定问题
2018/06/29 Javascript
关于Vue项目跨平台运行问题的解决方法
2018/09/18 Javascript
vue 引用自定义ttf、otf、在线字体的方法
2019/05/09 Javascript
vue 实现强制类型转换 数字类型转为字符串
2019/11/07 Javascript
JavaScript监听键盘事件代码实现
2020/06/03 Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
2020/07/20 Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
2020/11/11 Javascript
[00:08]DOTA2勇士令状等级奖励“天外飞星”
2019/05/24 DOTA
在Python中使用lambda高效操作列表的教程
2015/04/24 Python
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
2015/11/05 Python
python制作小说爬虫实录
2017/08/14 Python
西班牙美妆电商:Perfume’s Club(有中文站)
2018/08/08 全球购物
HttpServlet类中的主要方法都有哪些?各自的作用是什么?
2014/03/16 面试题
求职信的最佳写作思路
2014/02/01 职场文书
公司聘任书模板
2014/03/29 职场文书
优秀党务工作者事迹材料
2014/05/07 职场文书
小学教师个人先进事迹材料
2014/05/17 职场文书
要账委托书范本
2014/09/15 职场文书
2014年国庆晚会主持词
2014/09/19 职场文书
2015年医务人员医德医风自我评价
2015/03/03 职场文书
物业前台接待岗位职责
2015/04/03 职场文书
面试必问:圣杯布局和双飞翼布局的区别
2021/05/13 HTML / CSS
vue选项卡切换的实现案例
2022/04/11 Vue.js