php实现批量压缩图片文件大小的脚本
今天,想上传大量图片到论坛,由于图片是单反拍的,体积较大,就写了一个脚本,批量压缩图片。
<?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);
}
functionwrite($old,$new){
$maxsize=1000;
$image=newImagick($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();
}
?>