Thread Skript macht nach Dateiupload nicht weiter (9 answers)
Opened by vayu at 2007-09-21 16:17

vayu
 2007-09-21 16:17
#99806 #99806
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
Also das zip file wird hochgeladen, ausgepackt und wieder gelöscht.
das komische ist, ein print dass ich irgendwo vor dem qx einfüge wird ausgegeben. nach dem qx nicht. das unlink wird aber komischerweise noch ausgeführt. mehr aber nicht, die foreach-schleife wird auch nicht durchlaufen, zumindest glaube ich das, kann es ja mangels print nicht nachvollziehen.

hab die Stellen mal per kommentar markiert

Hat da jemand ne idee?

achso, den start des skript hab ich mal weggelassen, also fehlen ein paar variablen deklarationen :) und start_html etc

Code (perl): (dl )
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
34
35
36
37
38
39
40
41
42
43
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."<br />";
                &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."<br />";
        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);
}

View full thread Skript macht nach Dateiupload nicht weiter