Hallo,
auf dem nt-rechner laeuft der apache 1.3.9 sowie activeperl (release 613, based on Perl v5.6.0.).
der dateiname wird zwar dort angelegt, wo ich es gerne haette, aber der inhalt ist leer.
-> Schau Dir mal die folgende Funktion an, insbes. den 2. Kommentar, also prüfe, ob im File-Input auch was drinsteht. Die Funktion versteht sich als Beiepiel, es gehört im gesamten CGI noch ein bischen mehr dazu, wie Fehlerbehandlung, prüfen auf deppische Eingaben usw.; Viele Grüße, Rolf
---läuft auf NT---
sub upload{
use File::Basename;
my $source_file = $q->param('upfile');
my $updir = $q->param('updir');
my($file_name) = fileparse($source_file);
my ($size, $xread) = 0;
open (OUTFILE, ">$updir/$file_name") &noup;
Binary-Mode einschalten
binmode OUTFILE;
guck hier, ob in $source_file auch was drinsteht!
while($xread = read($source_file, $buffer, 1024)) {
print OUTFILE $buffer;
$size += $xread;
if($size > 1024000){ # Upload begrenzen
close OUTFILE;
unlink "$updir/$file_name";
&zugross; # Ausgabe Fehler, wenn File zu groß ;-)
}
}
close OUTFILE;
print "Quell - Datei mit Pfad: <b>$source_file, Größe $size Byte</b> wurde hochgeladen auf <b>$updir/$file_name</b>";
&ende;
}
---