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 相关文章推荐
PHPMailer安装方法及简单实例
Nov 25 PHP
PHP 中关于ord($str)&amp;gt;0x80的详细说明
Sep 23 PHP
关于PHP自动判断字符集并转码的详解
Jun 26 PHP
浅析PHP Socket技术
Aug 02 PHP
分割GBK中文遭遇乱码的解决方法
Aug 09 PHP
php curl 上传文件代码实例
Apr 27 PHP
PHP实现XML与数据格式进行转换类实例
Jul 29 PHP
php实现在站点里面添加邮件发送的功能
Apr 28 PHP
PHP中大括号'{}'用法实例总结
Feb 08 PHP
ThinkPHP实现分页功能
Apr 28 PHP
CI框架网页缓存简单用法分析
Dec 26 PHP
基于PHP的登录和注册的功能的实现
Aug 06 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来处理多个提交任务
2006/10/09 PHP
PHP 时间日期操作实战
2011/08/26 PHP
供参考的 php 学习提高路线分享
2011/10/23 PHP
php实现xml转换数组的方法示例
2017/02/03 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
使用GruntJS链接与压缩多个JavaScript文件过程详解
2013/08/02 Javascript
Knockout visible绑定使用方法
2013/11/15 Javascript
js replace替换所有匹配的字符串
2014/02/13 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
在JavaScript应用中使用RequireJS来实现延迟加载
2015/07/01 Javascript
JS实现黑客帝国文字下落效果
2015/09/01 Javascript
jQuery简单实现仿京东商城的左侧菜单效果代码
2015/09/09 Javascript
使用JS代码实现点击按钮下载文件
2016/11/12 Javascript
React组件之间的通信的实例代码
2017/06/27 Javascript
关闭Vue计算属性自带的缓存功能方法
2018/03/02 Javascript
微信公众号开发之微信支付代码记录的实现
2019/10/16 Javascript
[00:33]DOTA2上海特级锦标赛 CDEC战队宣传片
2016/03/04 DOTA
python连接mysql并提交mysql事务示例
2014/03/05 Python
python使用mailbox打印电子邮件的方法
2015/04/30 Python
Python根据已知邻接矩阵绘制无向图操作示例
2018/06/23 Python
python执行精确的小数计算方法
2019/01/21 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
python实现把两个二维array叠加成三维array示例
2019/11/29 Python
HTML5 Web Workers之网站也能多线程的实现
2013/04/24 HTML / CSS
详解canvas.toDataURL()报错的解决方案全都在这了
2020/03/31 HTML / CSS
自荐信格式
2013/12/01 职场文书
展会邀请函范文
2014/01/26 职场文书
体育教师求职信
2014/06/30 职场文书
食品安全承诺书范文
2014/08/29 职场文书
2014年学校卫生工作总结
2014/11/20 职场文书
会议欢迎词
2015/01/23 职场文书
2016年读书月活动总结范文
2016/04/06 职场文书
CSS实现多个元素在盒子内两端对齐效果
2021/03/30 HTML / CSS
python工具dtreeviz决策树可视化和模型可解释性
2022/03/03 Python
pytorch实现加载保存查看checkpoint文件
2022/07/15 Python