5 Einträge, 1 Seite |
1
2
3
4
5
6
7
8
$q = CGI->new();
$q->upload_hook(\&hook,$data);
sub hook
{
my ($filename, $buffer, $bytes_read, $data) = @_;
print "Read $bytes_read bytes of $filename\n";
}
moritz+2007-11-01 09:49:00--Spricht etwas dagegen, leere Dateien nach dem hochladen einfach sofort zu löschen?
Und was genau ist dir an $CGI::POST_MAX unklar?
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 44 45 46 47 48 49 50 51 52 53 54 55 56
sub upload_file { my ($hashref) = @_; my $file; my $name; my $buffer; my $savefile; my %filehash = %$hashref; my $uploaddir = "/home/Michaela/public_html/uploadfiles/"; my $success_count = 0; my @empty_files = (); my @uploaded_files = (); while (($name, $file) = each (%filehash)) { $name =~ s/\W|\s//gi; #Sonderzeichen rauswerfen $savefile = $uploaddir . $name; open(OUTFILE, ">$savefile.$$") or print "Error: Can't create file $savefile: $!"; binmode $savefile; while(read($file, $buffer, 1024)) { print OUTFILE $buffer; } close(OUTFILE); check_filesize($savefile.$$); $success_count++; push(@uploaded_files, $file); } if (@empty_files) { $message2 = "Nicht hochgeladen: @empty_files"; } if ($error) { $message = $q->strong($error); } elsif (!$error) { $message = "$success_count Datei(en) erfolgreich hochgeladen: @uploaded_files"; } } ######################################################### sub check_filesize { my ($file_to_check) = @_; my $filesize = 0; my @file_info; my $filesize; @file_info = stat($file_to_check); $filesize = $file_info[7]; if ($filesize == 0) { chdir("/home/Michaela/public_html/uploadfiles/"); #braucht man das überhaupt? unlink($file_to_check) or print "Could not delete $file_to_check: $!"; } else { } }
5 Einträge, 1 Seite |