今天,想上传大量图片到论坛,由于图片是单反拍的,体积较大,就写了一个脚本,批量压缩图片。
php" id="highlighter_950151">
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
<?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();
}
?>
|