今天,想上传大量图片到论坛,由于图片是单反拍的,体积较大,就写了一个脚本,批量压缩图片。
<?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(); } ?>