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 相关文章推荐
删除无限级目录与文件代码共享
Jul 12 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
Jul 01 PHP
解析PHP 5.5 新特性
Jul 02 PHP
php快递单号查询接口使用示例
May 05 PHP
用php来限制每个ip每天浏览页面数量的实现思路
Feb 24 PHP
php动态添加url查询参数的方法
Apr 14 PHP
详解PHP对象的串行化与反串行化
Jan 24 PHP
使用正则去除php代码中的注释方法
Nov 03 PHP
PHP实现原生态图片上传封装类方法
Nov 08 PHP
php之可变函数的实例详解
Sep 13 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
Aug 05 PHP
php判断目录存在的简单方法
Sep 26 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&amp;mysql(三)
2006/10/09 PHP
Laravel中使用阿里云OSS Composer包分享
2015/02/10 PHP
PHP写的简单数字验证码实例
2017/05/23 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
2019/10/08 PHP
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
固定背景实现的背景滚动特效示例分享
2013/05/19 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
2014/06/07 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
JS实现简单的二维矩阵乘积运算
2016/01/26 Javascript
使用jquery提交form表单并自定义action的实现代码
2016/05/25 Javascript
如何实现星星评价(jquery.raty.js插件)
2016/12/21 Javascript
基于vue.js路由参数的实例讲解——简单易懂
2017/09/07 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
微信小程序之蓝牙的链接
2017/09/26 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
2018/08/31 Javascript
深入剖析JavaScript instanceof 运算符
2019/06/14 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
2019/07/19 Javascript
Vue 的双向绑定原理与用法揭秘
2020/05/06 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
node使用async_hooks模块进行请求追踪
2021/01/28 Javascript
[45:32]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
Python cookbook(数据结构与算法)保存最后N个元素的方法
2018/02/13 Python
python 对象和json互相转换方法
2018/03/22 Python
Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
2018/07/18 Python
用Python进行websocket接口测试
2020/10/16 Python
HTML5单页面手势滑屏切换原理分析
2017/07/10 HTML / CSS
什么是SCM(软件配置管理)
2014/08/16 面试题
应届毕业生个人求职信范文
2014/01/29 职场文书
创建市级文明单位实施方案
2014/03/01 职场文书
高一军训的心得体会
2014/09/01 职场文书
六查六看自检自查剖析材料
2014/10/14 职场文书
运动会加油稿20字
2014/11/15 职场文书
教师节主题班会方案
2015/08/17 职场文书
2016年秋季运动会通讯稿
2015/11/25 职场文书
Springboot如何同时装配两个相同类型数据库
2021/11/17 Java/Android