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