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 相关文章推荐
PHP5中使用DOM控制XML实现代码
May 07 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
Dec 19 PHP
PHP设计模式 注册表模式(多个类的注册)
Feb 05 PHP
php 删除目录下N分钟前创建的所有文件的实现代码
Aug 10 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
Dec 02 PHP
php实现的ping端口函数实例
Nov 12 PHP
Yii2中如何使用modal弹窗(基本使用)
May 30 PHP
PHP简单预防sql注入的方法
Sep 27 PHP
LAMP环境使用Composer安装Laravel的方法
Mar 25 PHP
ThinkPHP下表单令牌错误与解决方法分析
May 20 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
Apr 10 PHP
php和nginx交互实例讲解
Sep 24 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 socket 模拟POST 请求实例代码
2016/07/18 PHP
php die()与exit()的区别实例详解
2016/12/03 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
PHP解决高并发的优化方案实例
2020/12/10 PHP
JQuery 学习笔记 选择器之一
2009/07/23 Javascript
jQuery之排序组件的深入解析
2013/06/19 Javascript
javascript闭包的理解
2015/04/01 Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
2015/12/05 Javascript
javascript日期验证之输入日期大于等于当前日期
2015/12/13 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
JS简单获取及显示当前时间的方法
2016/08/03 Javascript
jquery.Jcrop结合JAVA后台实现图片裁剪上传实例
2016/11/05 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
Vue之Watcher源码解析(2)
2017/07/19 Javascript
AngularJS中scope的绑定策略实例分析
2017/10/30 Javascript
node.js读取Excel数据(下载图片)的方法示例
2018/08/02 Javascript
浅谈在vue中使用mint-ui swipe遇到的问题
2018/09/27 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
简单了解vue中的v-if和v-show的区别
2019/10/08 Javascript
Python进程间通信用法实例
2015/06/04 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
2021/03/04 Python
草莓巧克力:Shari’s Berries
2017/02/07 全球购物
什么是组件架构
2016/05/15 面试题
运动会800米加油稿
2014/02/22 职场文书
双方协议书
2014/04/22 职场文书
保护环境演讲稿
2014/05/10 职场文书
关于教师节的广播稿
2014/09/10 职场文书
税务干部群众路线教育实践活动对照检查材料
2014/09/20 职场文书
2015年教研工作总结
2015/05/23 职场文书
清明扫墓感想
2015/08/11 职场文书
新课程改革心得体会
2016/01/22 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
同学联谊会邀请函
2019/06/24 职场文书
Python利用folium实现地图可视化
2021/05/23 Python