Thread Perl Upload Script (27 answers)
Opened by willy168 at 2011-08-09 10:40

willy168
 2011-08-09 10:40
#151371 #151371
User since
2011-08-09
10 Artikel
BenutzerIn
[default_avatar]
Guten Tag allerseits.

Ich bin neu hier und ebenso in der Perl Sprache nicht sehr bewandert dennoch möchte ich etwas mit Perl lösen.

Ich habe einen Webserver (Apache) welcher auf meinem Rechner läuft und auf welchem ich auch einen NFS eingebunden habe.
Nun möchte ich per Perl einen Upload Button erstellen welcher es mir ermöglicht in bestimmte Ordner bestimmte Files zu Legen.
Allerdings komme ich nicht weiter.

Ich habe bereits ein Script welches mir die Daten der Files Ausgibt aber diese nur im TMP ablegt und nicht in ein mir gewünschtes Verzeichnis verschiebt.
Ich habe gedacht man könnte das mit File::Copy lösen aber da bin ich auch nicht wirklich weitergekommen.
Hier mal mein Script:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/perl

use strict;
use CGI qw(-private_tempfiles);
use File::Copy;
$CGI::POST_MAX = 40_000_000;

my $c = CGI->new;
my $old = '/var/tmp/my $fh';
my $new = '/Fileserver/Frederik/my $fh';

if($c->param)
{
        print $c->header(-charset => 'utf-8'), $c->h2('Result');
        my $fh = $c->param('upfile'); # Get the FileHandle from temp-File
        printf qq(<p>Dateigröße: %s Bytes, Name der Tmp-Datei: %s</p>),
                -s $fh, $c->tmpFileName($fh);

        # Weitere Informationen aus uploadInfo
        print "<pre>";
        foreach my $k(keys %{$c->uploadInfo($fh)}){
                printf "%-25s => %s\n", $k, $c->uploadInfo($fh)->{$k};
        }
        print   $c->start_form,
                $c->button(-name => 'backbutton', -value => 'Zurück', -onclick => "location.href='/Admin/CGI/upload.pl'"),
                $c->button(-name => 'startpage', -value => 'Zurück zum Fileserver', -onclick => "location.href='/'"),
                $c->end_form;

        print "</pre>";

        system ("cp $old, $new");
        close $fh;
}

else{ # Erzeuge das Upload-Formular
        print $c->header(-charset => 'utf-8'),
                $c->h2('send a file'),
                $c->start_form( -enctype => 'multipart/form-data'),
                $c->filefield(-name => 'upfile'),
                $c->submit(-name => 'upload', -value => 'Datei hochladen'),
                $c->reset(-name => 'clear', -value => 'Feld löschen'),
                $c->button(-name => 'back', -value => 'Zurück zur Konfiguration', -onclick => "location.href='/Admin'"),
                $c->end_form;
        }


schonmal Vielen Dank falls mir überhaupt wer noch helfen kann :)
und wenn es möglich ist wär ich auch sehr dankbar für direkte Anpassungen am Script falls das geht :)

modedit Editiert von pq: code-tags hinzugefügt
Last edited: 2011-08-09 12:21:23 +0200 (CEST)

View full thread Perl Upload Script