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中在PDO中使用事务(Transaction)
May 14 PHP
php设计模式 Visitor 访问者模式
Jun 28 PHP
浅谈php中mysql与mysqli的区别分析
Jun 10 PHP
浅析PHP中的字符串编码转换(自动识别原编码)
Jul 02 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
Dec 02 PHP
PHP实现的统计数据功能详解
Dec 06 PHP
使用ThinkPHP生成缩略图及显示
Apr 27 PHP
详解php curl带有csrf-token验证模拟提交方法
Apr 18 PHP
Laravel框架学习笔记之批量更新数据功能
May 30 PHP
PHP swoole和redis异步任务实现方法分析
Aug 12 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
Apr 04 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
ThinkPHP框架实现数据增删改
2017/05/07 PHP
网站页面自动跳转实现方法PHP、JSP(下)
2010/08/01 Javascript
关于jQuery对象数据缓存Cache原理以及jQuery.data详解
2013/04/07 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
jQuery实现本地预览上传图片功能
2016/01/08 Javascript
通用无限极下拉菜单的实现代码
2016/05/31 Javascript
js轮播图的插件化封装详解
2017/07/17 Javascript
微信小程序下拉菜单效果的实例代码
2019/05/14 Javascript
Python中的迭代器漫谈
2015/02/03 Python
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
Python工程师面试题 与Python基础语法相关
2016/01/14 Python
浅谈numpy库的常用基本操作方法
2018/01/09 Python
将tensorflow的ckpt模型存储为npy的实例
2018/07/09 Python
pygame游戏之旅 添加游戏介绍
2018/11/20 Python
通过cmd进入python的实例操作
2019/06/26 Python
简单了解python变量的作用域
2019/07/30 Python
python+mysql实现个人论文管理系统
2019/10/25 Python
修改Pandas的行或列的名字(重命名)
2019/12/18 Python
解决python脚本中error: unrecognized arguments: True错误
2020/04/20 Python
查看keras各种网络结构各层的名字方式
2020/06/11 Python
Python 字符串池化的前提
2020/07/03 Python
浅谈Python3中print函数的换行
2020/08/05 Python
基于css3 animate制作绚丽的动画效果
2015/11/24 HTML / CSS
澳大利亚在线生活方式商店:Mytopia
2018/07/08 全球购物
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
运动会致辞稿50字
2014/02/04 职场文书
主管会计岗位责任制
2014/02/10 职场文书
村党支部换届选举方案
2014/05/02 职场文书
做人民满意的公务员活动方案
2014/08/25 职场文书
幼儿教师自我剖析材料
2014/09/29 职场文书
事业单位年度考核评语
2014/12/31 职场文书
邓小平文选读书笔记
2015/06/29 职场文书
MySQL EXPLAIN输出列的详细解释
2021/05/12 MySQL
Spring Boot 使用 Spring-Retry 进行重试框架
2022/04/24 Java/Android
Android使用EventBus发送消息,Fragment中接收消息的方法会执行多次
2022/04/24 Java/Android
Android 中的类文件和类加载器详情
2022/06/05 Java/Android