SELFHTML Forums-Auslese CGI und Perl


Forums-Auslese
File-Upload

Diese Seite ist ein Dokument mit Informationstext

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

 

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

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

In SELFHTML-Kapitel  Datei-Buttons finden Sie bereits eine Erklärung, wie sich der Upload clientseitig realisieren läßt.
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  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 angepaßt 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!";

 

weiter: Gästebücher, Nachrichtenforen
zurück: Formularauswertung
 

SELFHTML Forums-Auslese CGI und Perl

© 1999  das Redaktionsteam