Hier:
PHP-Code:
#!/usr/bin/perl -w
################# global variables
my $directory = "~/";
my $filetype = "jpg";
my $size = "128x128";
my $quality = "100";
################# initialization
sub init()
{
use Getopt::Std;
my $opt_string = 'hd:t:s:q:';
getopts( "$opt_string", \%opt ) or usage();
if($opt{d}) {$directory = $opt{d};} else { usage(); }
if($opt{t}) {$filetype = $opt{t};}
if($opt{s}) {$size = $opt{s};} else { usage(); }
if($opt{q}) {$quality = $opt{q};}
usage() if $opt{h};
}
################### prints helptext
sub usage()
{
print STDERR <<"END_OF_TEXT" ;
This program resizes files using ImageMagick.
The aspect ratio of the images is NOT changed.
usage: $0 [-d directory] [-t filetype] [-s size] [-q quality]
-h : this message ([H]elp)
-d directory : directory containing the files to resize
-t filetype : filetype, default: jpg
-s size : new size, example: 100x100
-q quality : quality in % in case of jpg-files
example: $0 -d ~/my_pictures/ -t jpg -s 100x100 -q 75
END_OF_TEXT
exit;
}
######################## resizes Images
sub resize()
{
chdir $directory or die "could not change to $directory: $!\n";
system ("mkdir -p resized_images");
print "mkdir -p resized_images\n";
@files = <*.$filetype>;
foreach $file (@files)
{
system("convert $directory/$file -resize $size -quality $quality $directory/resized_images/$file ");
print("convert $directory/$file -resize $size -quality $quality $directory/resized_images/$file \n");
}
}
init();
resize();
Ist perl, nicht php wies dransteht. Tut vermutlich zumindest einen Teil dessen, was Du willst, naemlich die Bilder verkleinern, und auf Wunsch auch die Qualitaet runterschrauben. Ist hoffentlich halbwegs selbsterklaerend

Du brauchst perl, ImageMagick und vermutlich Linux. Da Du Dich nicht speziell zum Betriebssystem geaeussert hast, nehme ich an, Du kannst auch so was damit anfangen
Vielleicht kann man die Zusgabe des Skripts irgendwie an einen ftp-clienten weiterleiten zwecks Upload.
Gruesse, kerri