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中变量及部分适用方法
Mar 27 PHP
php数组应用之比较两个时间的相减排序
Aug 18 PHP
PHPLog php 程序调试追踪工具
Sep 09 PHP
使用PHP实现Mysql读写分离
Jun 28 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
Sep 16 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
Nov 19 PHP
yii实现CheckBox复选框在同一行显示的方法
Dec 03 PHP
php操作mongoDB实例分析
Dec 29 PHP
PHP中读取文件的几个方法总结(推荐)
Jun 03 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
PHP中$GLOBALS与global的区别详解
Mar 21 PHP
Smarty模板配置实例简析
Jul 20 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
聊天室php&amp;mysql(五)
2006/10/09 PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
2011/07/03 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
2013/08/09 PHP
7个Javascript地图脚本整理
2009/10/20 Javascript
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
JavaScript:new 一个函数和直接调用函数的区别分析
2013/07/10 Javascript
使用RequireJS优化JavaScript引用代码的方法
2015/07/01 Javascript
JavaScript面向对象之私有静态变量实例分析
2016/01/14 Javascript
详解js的事件处理函数和动态创建html标记方法
2016/12/16 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
vue.js中Vue-router 2.0基础实践教程
2017/05/08 Javascript
Vue.js2.0中的变化小结
2017/10/24 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
angular使用md5,CryptoJS des加密的方法
2019/06/03 Javascript
JS实现继承的几种常用方式示例
2019/06/22 Javascript
Nuxt pages下不同的页面对应layout下的页面布局操作
2020/11/05 Javascript
python中enumerate的用法实例解析
2014/08/18 Python
Python递归函数定义与用法示例
2017/06/02 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
Django 根据数据模型models创建数据表的实例
2018/05/27 Python
Tensorflow使用支持向量机拟合线性回归
2018/09/07 Python
python+selenium 鼠标事件操作方法
2019/08/24 Python
Django查询优化及ajax编码格式原理解析
2020/03/25 Python
tensorflow下的图片标准化函数per_image_standardization用法
2020/06/30 Python
Django后端按照日期查询的方法教程
2021/02/28 Python
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
canvas烟花特效锦集
2018/01/17 HTML / CSS
HTML5中的网络存储实现方式
2020/04/28 HTML / CSS
小米旗下精品生活电商平台:小米有品
2018/12/18 全球购物
澳大利亚在线高跟鞋商店:Shoe Me
2019/11/19 全球购物
新闻编辑专业自荐信
2014/07/02 职场文书
2014公司年终工作总结
2014/12/19 职场文书
有关水浒传的读书笔记
2015/06/25 职场文书
2015秋季田径运动会广播稿
2015/08/19 职场文书
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle