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的常用命令
Oct 09 PHP
如何突破PHP程序员的技术瓶颈分析
Jul 17 PHP
优化PHP代码技巧的小结
Jun 02 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
Jun 18 PHP
php查询mssql出现乱码的解决方法
Dec 29 PHP
php检测文本的编码
Jul 26 PHP
3种php生成唯一id的方法
Nov 23 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
May 31 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
Oct 09 PHP
Laravel validate error处理,ajax,json示例
Oct 25 PHP
PHP如何防止用户重复提交表单
Dec 09 PHP
Laravel中Kafka的使用详解
Mar 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
PHP 加密解密内部算法
2010/04/22 PHP
PHP运行环境配置与开发环境的配置(图文教程)
2013/06/04 PHP
使用PHP备份MYSQL数据的多种方法
2014/01/15 PHP
PHP截取发动短信内容的方法
2017/07/04 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
2020/12/16 PHP
在视频前插入广告
2006/11/20 Javascript
javascript textContent与innerText的异同分析
2010/10/22 Javascript
JS Replace 全部替换字符的用法小结
2013/12/24 Javascript
JavaScript监听文本框回车事件并过滤文本框空格的方法
2015/04/16 Javascript
理解javascript正则表达式
2016/03/08 Javascript
js HTML5 Canvas绘制转盘抽奖
2020/09/13 Javascript
JavaScript中三个等号和两个等号你了解多少
2017/07/04 Javascript
vue项目中使用axios上传图片等文件操作
2017/11/02 Javascript
简述vue状态管理模式之vuex
2018/08/29 Javascript
解决iview多表头动态更改列元素发生的错误的方法
2018/11/02 Javascript
node全局变量__dirname与__filename的区别
2019/01/14 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
Vue封装全局过滤器Filters的步骤
2020/09/16 Javascript
vue实现购物车的小练习
2020/12/21 Vue.js
mapboxgl实现带箭头轨迹线的代码
2021/01/04 Javascript
[51:28]EG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/16 DOTA
[45:34]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.18
2020/12/19 DOTA
Python爬取当当、京东、亚马逊图书信息代码实例
2017/12/09 Python
TensorFlow获取加载模型中的全部张量名称代码
2020/02/11 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
python 多线程死锁问题的解决方案
2020/08/25 Python
美国最受欢迎的童装品牌之一:The Children’s Place
2016/07/23 全球购物
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
美国韩国化妆品和护肤品购物网站:Beautytap
2018/07/29 全球购物
智能电子应届生求职信
2013/11/10 职场文书
办公室文员岗位职责范本
2014/06/12 职场文书
党校毕业心得体会
2014/09/13 职场文书
《爱的教育》读书心得
2014/11/08 职场文书
Spring Cloud Gateway去掉url前缀
2021/07/15 Java/Android
MySQL事务操作的四大特性以及并发事务问题
2022/04/12 MySQL