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 相关文章推荐
php全排列递归算法代码
Oct 09 PHP
php并发对MYSQL造成压力的解决方法
Feb 21 PHP
php笔记之:有规律大文件的读取与写入的分析
Apr 26 PHP
coreseek 搜索英文的问题详解
Jun 08 PHP
php遍历目录输出目录及其下的所有文件示例
Jan 27 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
Mar 18 PHP
php数字运算验证码的实现代码
Jul 30 PHP
Laravel中Trait的用法实例详解
Mar 16 PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 PHP
PHP编程实现计算抽奖概率算法完整实例
Aug 09 PHP
PHP单例模式数据库连接类与页面静态化实现方法
Mar 20 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 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
第七节 类的静态成员 [7]
2006/10/09 PHP
第十五节--Zend引擎的发展
2006/11/16 PHP
基于php缓存的详解
2013/05/15 PHP
php实现的简单美国商品税计算函数
2015/07/13 PHP
php pthreads多线程的安装与使用
2016/01/19 PHP
PDO的安全处理与事物处理方法
2016/10/31 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
2017/03/15 PHP
greybox——不开新窗口看新的网页
2007/02/20 Javascript
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
让mayfish支持mysqli数据库驱动的实现方法
2010/05/22 Javascript
Javascript算符的优先级介绍
2013/03/20 Javascript
不使用浏览器运行javascript代码的方法
2013/07/24 Javascript
JavaScript之IE的fireEvent方法详细解析
2013/11/20 Javascript
JS动态增加删除UL节点LI及相关内容示例
2014/05/21 Javascript
JavaScript实现找出字符串中第一个不重复的字符
2014/09/03 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
利用JavaScript阻止表单提交的两种方法
2016/08/11 Javascript
jquery设置css样式的多种方法(总结)
2017/02/21 Javascript
vue-cli配置环境变量的方法
2018/07/09 Javascript
vue下axios拦截器token刷新机制的实例代码
2020/01/17 Javascript
Javascript查看大图功能代码实现
2020/05/07 Javascript
[54:43]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第一场 2月22日
2021/03/11 DOTA
Tornado服务器中绑定域名、虚拟主机的方法
2014/08/22 Python
python3使用scrapy生成csv文件代码示例
2017/12/28 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
利用Python将每日一句定时推送至微信的实现方法
2018/08/13 Python
python 使用pandas计算累积求和的方法
2019/02/08 Python
Python3日期与时间戳转换的几种方法详解
2019/06/04 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
2019/11/29 Python
使用OpenCV实现人脸图像卡通化的示例代码
2021/01/15 Python
jupyter 添加不同内核的操作
2021/02/06 Python
Python 图片处理库exifread详解
2021/02/25 Python
面试后感谢信
2014/02/01 职场文书
农村葬礼主持词
2014/03/31 职场文书
先进个人材料怎么写
2014/12/30 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书