Datei upload mit perl
Peter
- cgi
0 Eckhart0 Stephan Schmid0 klaus
hallo,
kann mir jemand sagen wie ich mit perl dateien uploaden lassen kann in ein bestimmtes verzeichnis ? mit oder ihne cgi.pm.
Peace...Peter
hallo,
kann mir jemand sagen wie ich mit perl dateien uploaden lassen
»»kann in ein bestimmtes verzeichnis ? mit oder ihne cgi.pm.
ich glaubs nicht, ich wollte dieselbe frage stellen !!!!
Naja, ich wollte mehr wissen ob es vielleicht möglich ist dateien direkt zu verschicken (an einen anderen computer), auf welche art und weise auch immer.
Ich bin mir nicht ganz sicher, aber wenn du nur zu deinem server uplaoden willst, mach doch einfach ein formular mit so einem browse-feld. Dann kriegst du den dateinammen, und kannst die datei lesen und einfach auf den server schreiben...
Hallo Peter,
hallo Eckhart,
am einfachsten geht der file-upload tatsächlich mit hilfe der Perlmodule:
-cgi.pm für den upload per post/get
-Net::FTP für den ftp-Zugang
-Net::SMPT per E-Mail (müsste auch mit Attachments gehen)
vorraussgesetzt euer Provider hält die entsprechenden Module für euch bereit. Unter http://www.tekromancer.com/perl/inhalt.html gibts kurze Beispiele für die Benutzung dieser Module. Da gibts auch ein kleines Beispiel wie es via CGI "von Hand" geht.
Muss aber nicht. Dafür gibts Steven Brenners cgi-lib.pl (Download, Doku und Beispiele) http://cgi-lib.berkeley.edu/.
SolOng
Stephan
hallo,
kann mir jemand sagen wie ich mit perl dateien uploaden lassen
»»kann in ein bestimmtes verzeichnis ? mit oder ihne cgi.pm.ich glaubs nicht, ich wollte dieselbe frage stellen !!!!
Naja, ich wollte mehr wissen ob es vielleicht möglich ist dateien direkt zu verschicken (an einen anderen computer), auf welche art und weise auch immer.Ich bin mir nicht ganz sicher, aber wenn du nur zu deinem server uplaoden willst, mach doch einfach ein formular mit so einem browse-feld. Dann kriegst du den dateinammen, und kannst die datei lesen und einfach auf den server schreiben...
hallo ihr da,
erstmal
<../../tchg.htm>
lesen.
im eingabefeld steht, dann nach dem der Benutzer eine _lokale_ Datei ausgewählt hat der dateiname.
beim ansenden des formulares überträgt der Browser den gesamten Inhalt der Datei dem CGI-Script.
mit CGI.pm kann dieser Inhalt perl
$query->param('name_des_dateibuttons')
abgefragt werden.
verwendest Du cgi-lib.pl, dann steht der inhalt nach 'ReadParse(*input);' im entsprechenden EIntrag vom Hash '%input', also z.B.: '$input{'name_des_dateibuttons'}'.
Die Datei kann dann ohne weiteres in eine x-beliebige Datei des Servers geschrieben werden:
if(open(OUT,">$lokaler_dateiname"))
{
binmode(OUT); # unter Win32 empfiehlt sich dieser funktionsaufruf, wenn die Datei sicher 1:1 zur Originaldatei sein soll.
print OUT,$query->param('name_des_dateibuttons'); # mit CGI.pm
print OUT,$input{'name_des_dateibuttons'}; # mit cgi-lib.pl
close OUT;
}
ach ja, der Dateiname der Originaldatei ist meines wissens nach bei 'CGI.pm' nicht abrufbar (war es zumindestens nicht, als ich mir das Modul damals reingezogen hat, ob es in einer neueren Version schon möglich ist, weiß ich nicht) .
mit 'cgi-lib.pl' kannst Du Dir den Dateinamen aus dem Array '@input' holen, weil 'ReadParse()' alles was nicht inst Hash kommt, ins Array schreibt. ist aber nicht ganz einfach, aber auch nicht soooo schwer.
habs schon mal gemacht, bin aber momentan zu faul, um es rauszusuchen. analysiere das Array und Du wirst schon selber draufkommen, wie es funktioniert.
viel spaß noch
klaus