if(defined($cgi->param('zip'))) { my $zip = $cgi->param('zip'); binmode $zip; open(FILE, ">", $img_dir."imgs.zip") or die $!; binmode FILE; my $data; while(read $zip, $data, 1024) { print FILE $data; } close FILE; my $cmd = "unzip ".$img_dir."imgs.zip -d ".$img_dir; ###### 0 ###### qx($cmd); ###### 1 ###### unlink $img_dir."imgs.zip"; ###### 2 ###### foreach my $img (glob($img_dir."*")) { next if $img =~ /^.{1,2}$/; print $img."
"; &doShrinking($img); } } sub getBaseName { my $file = shift; if($file =~ /^(.+)\/([^\/]+)\.(.{3})$/) { return ($1,$2,$3); } } sub doShrinking { my $file = shift; my ($dir, $base, $mime) = getBaseName($file); my $thumbfile = $dir.$base."_thumb".$mime; print $thumbfile."
"; my $src = new Image::Magick; $src->Read($file); my ($thumb,$x,$y) = Image::Magick::Thumbnail::create($src,450); $thumb->Write($file); ($thumb,$x,$y) = Image::Magick::Thumbnail::create($src,50); $thumb->Write($thumbfile); }