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 相关文章推荐
基于mysql的论坛(2)
Oct 09 PHP
PHP mail 通过Windows的SMTP发送邮件失败的解决方案
May 27 PHP
php遍历目录viewDir函数
Dec 15 PHP
IP攻击升级,程序改进以对付新的攻击
Nov 23 PHP
PHP APC的安装与使用详解
Jun 13 PHP
PHP 循环删除无限分类子节点的实现代码
Jun 21 PHP
实现PHP多线程异步请求的3种方法
Jan 17 PHP
PHP之autoload运行机制实例分析
Aug 28 PHP
php读取文件内容到数组的方法
Mar 16 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
Dec 10 PHP
php array_multisort 对数组进行排序详解及实例代码
Oct 27 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
Jul 19 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
跟我学小偷程序之成功偷取首页(第三天)
2006/10/09 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
2014/04/21 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
2017/02/07 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
2019/04/10 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
Div Select挡住的解决办法
2008/08/07 Javascript
JavaScript脚本性能优化注意事项
2008/11/18 Javascript
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
JavaScript字符串String和Array操作的有趣方法
2012/12/18 Javascript
html的DOM中Event对象onblur事件用法实例
2015/01/21 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
bootstrap导航条实现代码
2016/12/28 Javascript
简单实现js轮播图效果
2017/07/14 Javascript
微信小程序 如何引入外部字体库iconfont的图标
2018/01/31 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
2018/04/26 Javascript
详解vuex 渐进式教程实例代码
2018/11/27 Javascript
vue在index.html中引入静态文件不生效问题及解决方法
2019/04/29 Javascript
nest.js 使用express需要提供多个静态目录的操作方法
2019/10/24 Javascript
微信小程序背景音乐开发详解
2019/12/12 Javascript
[04:16]DOTA2全国高校联赛16强抽签
2018/05/02 DOTA
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
python如何求解两数的最大公约数
2018/09/27 Python
python3获取url文件大小示例代码
2019/09/18 Python
Python异常继承关系和自定义异常实现代码实例
2020/02/20 Python
HTML5调用手机摄像头拍照的实现思路及代码
2014/06/15 HTML / CSS
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
加拿大休闲和工业服装和鞋类零售商:L’Équipeur
2018/01/12 全球购物
Currentbody西班牙:美容仪专家
2019/09/28 全球购物
品质主管的岗位职责
2013/12/04 职场文书
善意的谎言事例
2014/02/15 职场文书
音乐教学随笔感言
2014/02/19 职场文书
关于梦想的演讲稿
2014/05/05 职场文书
作风建设演讲稿
2014/05/23 职场文书
DSP接收机前端设想
2022/04/05 无线电
nginx七层负载均衡配置详解
2022/07/15 Servers