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开源建站平台小结
Apr 22 PHP
ubuntu10.04配置 nginx+php-fpm模式的详解
Jun 03 PHP
解决php接收shell返回的结果中文乱码问题
Jan 23 PHP
PHP生成短网址的3种方法代码实例
Jul 08 PHP
php中getservbyport与getservbyname函数用法实例
Nov 18 PHP
PHP创建/删除/复制文件夹、文件
May 03 PHP
PHP中的函数声明与使用详解
May 27 PHP
PHP 获取 ping 时间的实现方法
Sep 29 PHP
PHP连接MySQL数据库并以json格式输出
May 21 PHP
php 处理png图片白色背景色改为透明色的实例代码
Dec 10 PHP
详解PHP队列的实现
Mar 14 PHP
laravel添加角色和模糊搜索功能的实现代码
Jun 22 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自带验证码全面解析
2016/09/18 PHP
使用WAMP搭建PHP本地开发环境
2017/05/10 PHP
php 可变函数使用小结
2018/06/12 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
2018/08/06 PHP
laravel框架 laravel-admin上传图片到oss的方法
2019/10/13 PHP
键盘控制事件应用教程大全
2006/11/24 Javascript
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
2010/12/02 Javascript
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
Raphael带文本标签可拖动的图形实现代码
2013/02/20 Javascript
手机端页面rem宽度自适应脚本
2015/05/20 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
分享19个JavaScript 有用的简写写法
2017/07/07 Javascript
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
如何在vue中使用ts的示例代码
2018/02/28 Javascript
React从react-router路由上做登陆验证控制的方法
2018/05/10 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
[47:39]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs OPTIC
2018/03/31 DOTA
Python使用matplotlib实现在坐标系中画一个矩形的方法
2015/05/20 Python
谈谈python中GUI的选择
2018/03/01 Python
网红编程语言Python将纳入高考你怎么看?
2018/06/07 Python
用python建立两个Y轴的XY曲线图方法
2019/07/08 Python
Python基于WordCloud制作词云图
2019/11/29 Python
Pycharm最新激活码2019(推荐)
2019/12/31 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
世界著名的顶级牛排:Omaha Steak(奥马哈牛排)
2016/09/20 全球购物
全天然狗零食:Best Bully Sticks
2016/09/22 全球购物
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
美国最大的高尔夫发球时间预订网站:TeeOff.com
2018/03/28 全球购物
Conforama西班牙:您的家具、装饰和电器商店
2020/02/21 全球购物
JAVA中运算符的分类及举例
2015/09/12 面试题
2014年初三班主任工作总结
2014/12/05 职场文书
办公室主任岗位职责
2015/01/31 职场文书
Python基础教程,Python入门教程(超详细)
2021/06/24 Python
Nginx使用ngx_http_upstream_module实现负载均衡功能示例
2022/08/05 Servers