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来检测proxy
Oct 09 PHP
实用函数10
Nov 08 PHP
php一些公用函数的集合
Mar 27 PHP
用php的ob_start来生成静态页面的方法分析
Mar 09 PHP
简单实现限定phpmyadmin访问ip的方法
Mar 05 PHP
PHP header()函数常用方法总结
Apr 11 PHP
PHP树的深度编历生成迷宫及A*自动寻路算法实例分析
Mar 10 PHP
使用ucenter实现多站点同步登录的讲解
Mar 21 PHP
Laravel5.1 框架表单验证操作实例详解
Jan 07 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
Dec 20 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 PHP
PHP获取类私有属性的3种方法
Sep 10 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删除特定数组内容并且重建数组索引的方法.
2011/03/25 PHP
php IP转换整形(ip2long)的详解
2013/06/06 PHP
PHP类继承 extends使用介绍
2014/01/14 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
根据出生日期自动取得星座的js代码
2010/07/20 Javascript
jquery $(this).attr $(this).val方法使用介绍
2013/10/08 Javascript
JS动态增加删除UL节点LI及相关内容示例
2014/05/21 Javascript
用JavaScript实现页面重定向功能的教程
2015/06/04 Javascript
JavaScript中数组继承的简单示例
2015/07/29 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
2015/12/02 Javascript
JavaScript语言精粹经典实例(整理篇)
2016/06/07 Javascript
解决Window10系统下Node安装报错的问题分析
2016/12/13 Javascript
input框中自动展示当前日期yyyy/mm/dd的实现方法
2017/07/06 Javascript
详解React项目中碰到的IE问题
2019/03/14 Javascript
浅谈Vue组件单元测试究竟测试什么
2020/02/05 Javascript
详解Nuxt内导航栏的两种实现方式
2020/04/16 Javascript
vue项目中使用多选框的实例代码
2020/07/22 Javascript
[42:06]2019国际邀请赛全明星赛 8.23
2019/09/05 DOTA
Python循环语句之break与continue的用法
2015/10/14 Python
十个Python程序员易犯的错误
2015/12/15 Python
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
Python使用smtplib模块发送电子邮件的流程详解
2016/06/27 Python
python中format()函数的简单使用教程
2018/03/14 Python
matplotlib之属性组合包(cycler)的使用
2021/02/24 Python
购买原创艺术品:Zatista
2019/11/09 全球购物
nohup的用法
2014/08/10 面试题
应届大学毕业生找工作的求职信范文
2013/11/29 职场文书
人力资源部经理的岗位职责
2014/03/04 职场文书
三分钟自我介绍演讲稿
2014/08/21 职场文书
小学教师个人总结
2015/02/05 职场文书
会计主管竞聘书
2015/09/15 职场文书
高中班主任心得体会
2016/01/07 职场文书
创业计划书之熟食店
2019/10/16 职场文书
图文详解Nginx版本平滑升级方案
2021/09/15 Servers
JS前端可视化canvas动画原理及其推导实现
2022/08/05 Javascript