Daniel: Dateiupload mit CGI.pm

Beitrag lesen

Das war ja nur ein Ausschnitt des Scripts. Hier ist der Rest:

#!/usr/bin/perl

Perl-Script von Daniel Cordes (c)2002

use CGI;
my $cgi = new CGI;
$Uploadpfad = "daten/";

Dateiupload("myfile");
Dateiupload("myfile2");
Dateiupload("myfile3");
Dateiupload("myfile4");
Dateiupload("myfile5");

############################## Sub-Routines ##############################
@Rubriken1 = $cgi->param('C1');

sub Dateiupload
 {
  $file = $cgi->param($_[0]);
  $fname = "";
  if($file ne "")
   {
    $Bildnummer++;
    ($Dateiendung) = $file =~ /.(.*)$/s;
    $Dateiname = time.$_[0].".".$Dateiendung;
    $fname = $Uploadpfad.$Dateiname;

# Dateigrösse einschränken
    #if($ENV{'CONTENT_LENGTH'} > 160000)
    # { print("Datei zu gross"); }

# Dateiendungen überprüfen
    #my @extensions = qw(xls doc Xls Doc XLS DOC);
    #if(!grep($Dateiendung,@extensions))
    #   { die("Ungültige Dateiendung"); }

# Speichern der Datei
    open DAT,'>'.$fname or print 'Error processing file: ',$!;
    binmode $file;
    binmode DAT;
    my $data;
    while(read $file,$data,2097152)
     {
      print DAT $data;
     }
    close DAT;
   }
  $Bild{$Bildnummer} = $Dateiname;
 }