欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-29 23:42:11
今天,想上传大量图片到论坛,由于图片是单反拍的,体积较大,就写了一个脚本,批量压缩图片。

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

<?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();
}
?>