SELFHTML

Forums-Auslese
File-Upload

Diese Seite ist ein Dokument mit Informationstext

nach unten Update eines länger vorhandenen Beitrags der Forums-Auslese Wie lässt sich ein Datei-Upload zum Server realisieren?

nach unten 

Wie lässt sich ein Datei-Upload zum Server realisieren?

Basierend auf einem Forums-Beitrag vom 24.08.1998 von:
E-Mail Stefan Münz, muenz@csi.com
E-Mail Udo Ballmann, uballmann@owl-online.de
E-Mail Frank Schönmann, fs@tower.de

In SELFHTML finden Sie bereits eine Seite Erklärung, wie sich der Upload clientseitig realisieren lässt.
Damit eine automatische Datenverarbeitung stattfindet, muss als action im <form>-Tag ein CGI-Skript angegeben werden, das die ankommenden Daten auf dem Server an einem gewünschten Ort speichern kann. Bei WebReview ist englischsprachige Seite ein ausführlicher Artikel zu diesem Thema zu finden.
Für einen einfachen Upload, ohne weitere Formularfelder für Beschreibungen und ähnliches, genügt es, das folgende Beispiel zu übernehmen (erfolgreich getestet unter Windows und Linux). Ansonsten müssen HTML- und Perl-Code natürlich entsprechend angepasst werden.

Der HTML-Code:

<form name="Upload" action="cgi-bin/upload.pl" method="POST" enctype="multipart/form-data">
  <input type="file" name="Datei" size="30">
  <input type="submit" value="Upload starten">
</form>

Das Perl-Skript:

#!/usr/bin/perl

binmode STDIN;
read STDIN, $Daten, $ENV{'CONTENT_LENGTH'};

@Teile = split /-----------------------------.{9}/, $Daten;
@Datei = split /\n/, $Teile[1], 5;
while ($Datei[1] =~ /\\/) { $Datei[1] =~ s/^.*\\//; }
$Datei[1] =~ s/"//;
chop $Datei[1];
chop $Datei[4]; chop $Datei[4];

open DATEI, ">$Datei[1]";
binmode DATEI;
print DATEI $Datei[4];
close DATEI;

print "Content-type: text/html\n\nUpload vollständig!";

Wie ein Datei-Upload auf einfachere Weise zu realisieren ist, wird im SELFAKTUELL-Feature-Artikel Seite Formularauswertung mit cgi-lib.pl von Rolf Rost beschrieben.

nach oben
weiter:Weiter Seite Gästebücher, Nachrichtenforen
zurück:Zurück Seite Formularauswertung
 

© 2000 Seite das Redaktionsteam