#!/usr/local/bin/perl
#######################################################
#
# File Upload Script für Konzept139
#
# Copyright 2000, Fa. DragNet, Marius Dichtl
#
#######################################################
package main;
use strict;
use CGI;
use vars qw ($query);
require 'KPglobals.pl';
# Definition of all CGI-Controllers
my $uploadSubmit = 'Upload';
my $resetSubmit = 'Reset';
# Definition of Redirect URL
my $uploadURL = $KPglobals::htmlDocPath.'uploadSuccess.html';
MAIN_LOOP:{
# Generate new CGI-Object
$query = new CGI;
my @errorMsgs;
# Buttons...
if ($query->param($resetSubmit)){
my @paramNames = $query->param;
foreach (@paramNames){
$query->param($_,'');
}
}
if ($query->param($uploadSubmit)){
# Login und PassWordCheck...
my $login = $query->param('login');
my $password = $query->param('password');
if ($login ne $KPglobals::uploadLogin || $password ne $KPglobals::uploadPasswd ){
push(@errorMsgs, 'Das eingegebene Login und/oder Password ist nicht korrekt. Bitte wiederholen Sie Ihre Eingaben!');
}
if ($query->param("filename") eq ''){
push(@errorMsgs, 'Sie haben keine Datei angegeben, die auf unseren Server hochgeladen werden soll. Bitte wiederholen Sie Ihre Eingaben!');
}
if (scalar(@errorMsgs) == 0){
# File Upload...
my $size;
my $total_size;
my $data;
my $filename = $query->param('filename');
open (SAVE,">".$KPglobals::uploadPath.$filename);
while ($size = read($filename,$data,1024)) {
print SAVE $data;
$total_size += $size;
}
close SAVE;
# ...File Upload
# Send Email to Administrator...
my $sendmail = $KPglobals::sendMail;
my $fromAddress = $KPglobals::sendMailFromAddress;
my $toAddress = $KPglobals::sendMailToAddress;
open (MAIL,"| $sendmail -t")||die "Could not find $KPglobals::sendMail";
my $emailText = "From: $fromAddress
To: $toAddress
Subject: Neues File im Upload Ordner
--- THIS MESSAGE WAS GENERATED AUTOMATICALLY ---
Eingang Neuer Dateien durch Benutzung der File Upload Area:
Zielordner:
===========
$KPglobals::uploadPath
Datei:
======
$filename
Bitte Nachschauen!";
print MAIL $emailText;
close (MAIL);
# Delete all Form Parameters...
my @paramNames = $query->param;
foreach (@paramNames){
$query->param($_,'');
}
# Redirect to Succes HTML-Page
print $query->redirect($uploadURL);
last MAIN_LOOP;
}
}
# ...Buttons
# Generate HTML-Mask...
print $query->header();
print $query->start_html(
-title => 'Konzept 139 - File Upload Area',
-bgcolor =>"black",
-link => "white",
-alink => "#8ccb4c",
-vlink => "#3300ff",
-text => "white");
# HTML-Page First Part...
print "
In unserem \"up!\"-Bereich können Sie einfach und schnell Dateien auf unseren Web-Server laden.
Bitte geben Sie zuerst Login und Password ein, welche Sie von uns erhalten, wenn Sie uns anmailen! Mit dem Browse/Durchsuchen-Button wählen Sie die Datei auf Ihrem Rechner aus, die Sie uns schicken möchten. Bitte setzen Sie sich mit uns vorher in Verbindung, wenn die Dateigrösse 10 MB übersteigt. Drücken Sie dann den Upload-Button. Die von Ihnen ausgewählten Dateien werden nach einer Prüfung automatisch auf unserem Web-Server hochgeladen
"; print "\n "; # Print Error Messages... print "\n"; foreach (@errorMsgs){ print "
\n"; print "- "; print ""; print $_; print ""; print "
\n"; } print "\n"; # HTML-Page Second Part... # Start Form ... print $query->start_multipart_form(); # CGI-Controllers... print "
Login "; print $query->textfield(-name => "login", -size => 16, -maxlength => 16, ); print" Password "; print $query->password_field(-name => "password", -size => 16, -maxlength => 16, ); print " Filename "; print $query->filefield(-name=> "filename", -value => '', -size=>16, ); print"
"; print $query->submit($uploadSubmit); print $query->submit($resetSubmit); print""; # ...CGI-Controllers print $query->endform; # HTML-Page ThirdPart... print "