Upload mit cgi-lib
Felix Laate
- perl
0 Rolf0 Wolfgang Wiese
Ich verwende cgi-lib.pl um Grafikdateinen zu uploaden. Leider bekommen die Dateien Namen wie cgi-lib.350.1. Ich möchte aber das sie ihre ursprüngliche Namen (wie z.B. photo.gif) behalten.
Weisst jemand wie ich das machen könnte?
Ich verwende cgi-lib.pl um Grafikdateinen zu uploaden. Leider bekommen die Dateien Namen wie cgi-lib.350.1. Ich möchte aber das sie ihre ursprüngliche Namen (wie z.B. photo.gif) behalten.
Weisst jemand wie ich das machen könnte?
Tja, die "cgi-lib.pl" macht das halt so, entweder Du lebst damit oder läßt Dir eine andere Upload-Strategie einfallen... ne Datei auf den Server zu kriegen ist im Prinzip ganz einfach:
HTML:
<FORM enctype='multipart/form-data'>
CGI/PERL:
---UpGehts---
open (UPFILE, ">$up_dir/$up_file") &fehler;
binmode UPFILE; # Muss sein, wenn kein ASCII
while(read($in_file, $buffers, 1024)){
print UPFILE $buffers;
}
close UPFILE;
---End---
WICHTIG!!!:
-Prüfe die Eingaben "File-Iput-Feld" auf Sonderzeichen!
TIPP(Arbeit):
-Den Original-Dateinamen, resp. die Dateierweiterung der hochzuladenden Datei kannst Du ja aus dem "File-Input-Feld" ermitteln,
-Ggf. gibst Du den hochgeladenen Dateien fortlaufende Nummern, jedoch dieselbe Erweiterung wie die Originaldatei, so werden hochgeladende Dateien nicht überschrieben...; Rolf
Ich verwende cgi-lib.pl um Grafikdateinen zu uploaden. Leider bekommen die Dateien Namen wie cgi-lib.350.1. Ich möchte aber das sie ihre ursprüngliche Namen (wie z.B. photo.gif) behalten.
Weisst jemand wie ich das machen könnte?
Wenn du nur die ReadParse-Funktion aus der cgi-lib.pl brauchst, dann benutz stadd der Lib mein Modul web.pm (http://cgi.xwolf.com/web), das hat diese Funktion auch, nur wird beim Upload der Dateiname auch benutzt und in der Hashvariable $in{'filename'} uebergeben.
Jedenfalls sofern in dem Dateinamen nicht irgentwelche unerlaubten Sonderzeichen drin sind. (Danach prueft die cgi-lib.pl in der alten version nicht).
Ciao,
Wolfgang
Ich verwende cgi-lib.pl um Grafikdateinen zu uploaden. Leider bekommen die Dateien Namen wie cgi-lib.350.1. Ich möchte aber das sie ihre ursprüngliche Namen (wie z.B. photo.gif) behalten.
Weisst jemand wie ich das machen könnte?
Wenn du nur die ReadParse-Funktion aus der cgi-lib.pl brauchst, dann benutz stadd der Lib mein Modul web.pm (http://cgi.xwolf.com/web), das hat diese Funktion auch, nur wird beim Upload der Dateiname auch benutzt und in der Hashvariable $in{'filename'} uebergeben.
Jedenfalls sofern in dem Dateinamen nicht irgentwelche unerlaubten Sonderzeichen drin sind. (Danach prueft die cgi-lib.pl in der alten version nicht).Ciao,
»» Wolfgang
Vielen Dank!
Gigt es eienen beispiel wie man dies einsetzen kann? Ich bin leider kein Experte, und es wäre sehr hilfreich wenn es dies gäbe.
bisdannundwann,
Felix