Upload
Mit Hilfe dieses Skriptes ist eine Dateiupload auf einen Webserver möglich.
Source Code
| Perl Sourcecode | |
| upload.pl V1.4 | Das Skript upload.pl |
| Layoutdateien | |
| upload_bestaetigung.html | Template für die Bestätigung nach dem Upload. |
| uploadform.html | Template für die Darstellung eines einfachen Formularfeldes zum upload von Dateien. |
| Download als Archiv-Datei | |
| upload.tgz | Getartes und gezipptes Archiv aller obigen Dateien. (Zu Entpacken unter Unix/Linux mit tar -xzf upload.tgz) |
|
Achtung: Sollte beim obigen Download-Link fehlerhafterweise als Dateiname "xload.cgi"
angegeben sein, ignorieren Sie dies und benennen den Dateinamen um. Einige Browser ignorieren
leider den Standard zur Übermittlung von Dateinamen... Alle Dateien können auch im Freecode-Verzeichnis gefunden werden. |
|
Wirkungsweise
Bitte geben Sie den Dateinamen zum Upload an. Beachten Sie, daß maximal 1024 Bytes geladen werden können und die Datei später von anderen benutzern wieder überschrieben werden kann.(Aus Sicherheits- und Rechtsgründen können kann jedoch auf die Datei, die Sie hier uploaden nicht zugegriffen werden. Ansonsten kann dieses Beispiel von irgendwelchen Freaks als Filesharing-Server genutzt werden.)
Aufruf und Einbau
Der Aufruf erfolgt über ein einfaches Formular, wie das obige. Der Quellcode sieht wie folgt aus:
<form action="http://www.example.org/cgi-bin/upload.pl" method="post" enctype="multipart/form-data"> <input name="filename" type="file" size="30"> <input type="submit" value=" Ok "> </form>
Installation
Kopieren Sie die Datei upload.pl und die Template-Dateien in Ihr CGI-BIN-Verzeichnis.
Setzen Sie die Ausführungsrechte mittels code>CHMOD. Z.B.: chmod 755 upload.pl.
Die template-Dateien müssen lediglich lesbar sein.
Desweiteren müssen Sie ein Verzeichnis erstellen, in welchem Sie die geladenen Dateien ablegen lassen
wollen.
Ändern Sie im Programm folgende Zeilen:
| Zeile 1: #!/local/bin/perl5 | Geben Sie hier Ihren eigenen Pfad zu Perl ein, falls er von diesem abweicht. | ||||||||||||||||
| Zeile 27: $UPLOAD_DIR = "files/"; | Dieses verzeichnis kann relativ zum CGI-Skript sein, oder absolut, wenn es mit einem "/" beginnt. Das Verzeichnis muss fuer das CGI-Skript beschreibbar sein, sofern die Dateinamen nicht fest vorgegeben sind. | ||||||||||||||||
| Zeile 35: $UPLOAD_FILE = 1; | Wie wird mit den Dateinamen verfahren:
|
||||||||||||||||
| Zeile 48: $UPLOAD_FILENAME = "uploadfile.upl"; | Fest vorgegebener Dateiname fuer hochgeladene Dateien. Diese Datei muss beschreibbar sein! | ||||||||||||||||
| Zeile 52: my $POST_MAX = 1024*10; | Angabe der maximalen Bytegroesse, die erlaubt ist zum Upload. | ||||||||||||||||
| Zeile 55: my $HTML_AUSGABE_FILE = "upload_bestaetigung.html"; |
Diese Datei enthaelt die (HTML)Ausgabe des Skriptes nachdem alles abgearbeitet ist.
Alle uebergebenen Eingaben koennen abgefragt werden ueber die Variablen von der
Syntax '#Name#' . Feste Variablen sind:
|
||||||||||||||||
| Zeile 52: my $HTML_FORMULAR_FILE = "uploadform.html"; | Falls nichts uebertragen wurde, kann man in diesem Template ein Formular fuer den Upload bereitstellen, die dann angezeigt wird. Variablen wie oben. |


