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 magic_quotes_gpc的一点认识与分析
Aug 18 PHP
在服务端进行目录建立、删除,文件上传、删除的过程的php代码
Sep 10 PHP
php-cli简介(不会Shell语言一样用Shell)
Jun 03 PHP
PHP大批量插入数据库的3种方法和速度对比
Jul 08 PHP
php批量删除数据库下指定前缀的表以prefix_为例
Aug 24 PHP
Laravel 4 初级教程之Pages、表单验证
Oct 30 PHP
php基于SQLite实现的分页功能示例
Jun 21 PHP
Laravel学习教程之IOC容器的介绍与用例
Aug 15 PHP
php微信开发之图片回复功能
Jun 14 PHP
PHP递归算法的简单实例
Feb 28 PHP
Laravel框架控制器,视图及模型操作图文详解
Dec 04 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
Dec 11 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(5) 类和对象
2010/02/16 PHP
php实现的一个很好用HTML解析器类可用于采集数据
2013/09/23 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
PHP处理CSV表格文件的常用操作方法总结
2016/07/01 PHP
PHP中仿制 ecshop验证码实例
2017/01/06 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
JQuery扩展插件Validate—6 radio、checkbox、select的验证
2011/09/05 Javascript
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
2012/03/14 Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
2013/01/16 Javascript
jQuery获取浏览器中的分辨率实现代码
2013/04/23 Javascript
JavaScript实现的圆形浮动标签云效果实例
2015/08/06 Javascript
jQuery解决input超多的表单提交
2015/08/10 Javascript
使用jQuery操作HTML的table表格的实例解析
2016/03/13 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
JavaScript判断日期时间差的实例代码
2018/03/01 Javascript
JS开发自己的类库实例分析
2019/08/28 Javascript
基于better-scroll 实现歌词联动功能的代码
2020/05/07 Javascript
JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码
2020/12/01 Javascript
python读取文件名称生成list的方法
2018/04/27 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
python将一组数分成每3个一组的实例
2018/11/14 Python
使用python实现语音文件的特征提取方法
2019/01/09 Python
Python使用psutil获取进程信息的例子
2019/12/17 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
Smallable英国家庭概念店:设计师童装及家居装饰
2017/07/05 全球购物
Farfetch香港官网:汇集全球时尚奢侈品购物平台
2017/11/26 全球购物
类如何去实现接口
2013/12/19 面试题
商场经理竞聘演讲稿
2014/01/01 职场文书
给儿子的表扬信
2014/01/15 职场文书
潘婷洗发水广告词
2014/03/14 职场文书
财产公证书样本
2014/04/04 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
红色经典电影观后感
2015/06/18 职场文书
2016公司新年问候语
2015/11/11 职场文书
纯 CSS 自定义多行省略的问题(从原理到实现)
2021/11/11 HTML / CSS