Thread Problem mit CGI-Upload-Relais
(4 answers)
Opened by TheMacTrader at 2011-05-11 15:40
binmode $handle und "zeilenweise" Handle lesen passt nicht so recht zusammen.
Ansonsten ist binmode $handle ok. Zum Upload: Sofern das Modul CGI verwendung findet, liefert die Methode param() ein Handle auf die hochgeladene Datei Code (perl): (dl
)
1 2 3 4 5 use CGI; my $cgi = CGI->new; # erstelle CGI-Instanz my $handle = $cgi->param('name_input_type_file'); binmode $handle; # wie gesagt... Die Datei ist an dieser Stelle bereits auf dem Server, aber noch nicht da, wo wir sie haben wollen ;) Wir haben das $handle und lesen es aus mit read(); Code (perl): (dl
)
1 2 3 4 while(read($handle, my $buffer, 1024)){ print MY_HANDLE $buffer; # schreibe nun die eigene Datei } close $handle; Wobei: $handle ist tatsächlich ein HANDLE im Kontext mit der read()-Funktion. Im scalaren Kontext $dateiname = $handle; steht in $dateiname der Dateiname. Nutze File::Basename zum parsen $dateiname, manche Browser liefern fälschlicherweise den kompletten lokalen Pfad. Und wie schon Bianca schrieb: Die Schreibberechtigungen müssen vorhanden sein. View full thread Problem mit CGI-Upload-Relais |