今天,想上傳大量圖片到論壇,由於圖片是單反拍的,體積較大,就寫了一個腳本,批量壓縮圖片。
<?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(); } ?>