PHP
·
发表于 5年以前
·
阅读量:8309
今天,想上传大量图片到论坛,由于图片是单反拍的,体积较大,就写了一个脚本,批量压缩图片。
<?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();
}
?>