php实现批量压缩图片文件大小的脚本


Posted in PHP onJuly 04, 2014

今天,想上传大量图片到论坛,由于图片是单反拍的,体积较大,就写了一个脚本,批量压缩图片。

<?php

if ($handle = opendir('./old')) {

    while (false !== ($file = readdir($handle))) {
        if ($file == '.' || $file == '..') {
            continue;
        }
        write('d:/wamp/www/test/old/'.$file, 'd:/wamp/www/test/new/'.$file);
    }

    closedir($handle);
}


function write($old, $new) {
    $maxsize=1000;
    $image = new Imagick($old);
    if($image->getImageHeight() <= $image->getImageWidth())
    {
        $image->resizeImage($maxsize,0,Imagick::FILTER_LANCZOS,1);
    }
    else
    {
        $image->resizeImage(0,$maxsize,Imagick::FILTER_LANCZOS,1);
    }
    $image->setImageCompression(Imagick::COMPRESSION_JPEG);
    $image->setImageCompressionQuality(90);
    $image->stripImage();
    $image->writeImage($new);
    $image->destroy();
}
?>
PHP 相关文章推荐
php截取字符串函数分享
Feb 02 PHP
PHP使用适合阅读的格式显示文件大小的方法
Mar 05 PHP
PHP中iconv函数知识汇总
Jul 02 PHP
分享PHP计算两个日期相差天数的代码
Dec 23 PHP
Yii使用技巧大汇总
Dec 29 PHP
thinkPHP查询方式小结
Jan 09 PHP
Yii中的cookie的发送和读取
Jul 27 PHP
thinkPHP框架实现的简单计算器示例
Dec 07 PHP
基于laravel belongsTo使用详解
Oct 18 PHP
laravel 解决路由除了根目录其他都404的问题
Oct 18 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
Feb 29 PHP
PHP连接SQL server数据库测试脚本运行实例
Aug 24 PHP
PHP实现的英文名字全拼随机排号脚本
Jul 04 #PHP
PHP临时文件的安全性分析
Jul 04 #PHP
PHP curl实现抓取302跳转后页面的示例
Jul 04 #PHP
PHP不用递归遍历目录下所有文件的代码
Jul 04 #PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
Jul 04 #PHP
PHP+Memcache实现wordpress访问总数统计(非插件)
Jul 04 #PHP
php+memcache实现的网站在线人数统计代码
Jul 04 #PHP
You might like
如何做到多笔资料的同步
2006/10/09 PHP
解决phpmyadmin中文乱码问题。。。
2007/01/18 PHP
php通过sort()函数给数组排序的方法
2015/03/18 PHP
PHP常用的排序和查找算法
2015/08/06 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
2017/04/26 PHP
PHP钩子实现方法解析
2019/05/21 PHP
php实现统计IP数及在线人数的示例代码
2020/07/22 PHP
Laravel中如何轻松容易的输出完整的SQL语句
2020/07/26 PHP
event对象的方法 兼容多浏览器
2009/06/27 Javascript
JS解析XML的实现代码
2009/11/12 Javascript
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
jQuery使用hide方法隐藏指定元素class样式用法实例
2015/03/30 Javascript
JS实现随机乱撞彩色圆球特效的方法
2015/05/05 Javascript
javascript特殊日历控件分享
2016/03/07 Javascript
JavaScript浮点数及运算精度调整详解
2016/10/21 Javascript
一个例子轻松学会Vue.js
2017/01/02 Javascript
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
[01:16:37]【全国守擂赛】第三周决赛 Dark Knight vs. 一个弱队
2020/05/04 DOTA
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
python中sets模块的用法实例
2014/09/30 Python
Pandas 对Dataframe结构排序的实现方法
2018/04/10 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
python 计算两个列表的相关系数的实现
2019/08/29 Python
基于python图像处理API的使用示例
2020/04/03 Python
如何导出python安装的所有模块名称和版本号到文件中
2020/06/05 Python
Python函数参数定义及传递方式解析
2020/06/10 Python
python 递归相关知识总结
2021/03/03 Python
video结合canvas实现视频在线截图功能
2018/06/25 HTML / CSS
国际领先的学术出版商:Springer
2017/01/11 全球购物
荷兰在线体育用品商店:Avantisport.nl
2018/07/04 全球购物
医生自荐信
2013/10/11 职场文书
师范学院毕业生求职信范文
2013/12/26 职场文书
会议邀请书范文
2014/02/02 职场文书
合同意向书范本
2014/07/30 职场文书
新闻简讯格式及范文
2015/07/22 职场文书