Matthias Kunz: Mit welchem Useraccount schreibt Perl Dateien unter IIS

Beitrag lesen

Sup!

<img src="/images/03.gif" alt="">

Ehm... wie uploadest Du? Mit FTP? Oder wie oder was?

Von wo nach wo? Warum uploadest Du auf Deinen eigenen Server - warum kopierst Du nicht mit SCP oder per NFS, wenn es Dein Server ist?

Fragen über Fragen... hab' ich eine Kristallkugel oder so? *fg*

Gruesse,

<img src="http://outpost.purespace.de/webdesign.jpg" alt="">

Bio

Danke, dass Du Dich mit meiner Frage beschäftigst!

Ich möchte im Intranet eine Funktion zur Verfügung stellen, mit der bestimmte User Dateien uploaden können - Officedokumente, Bilder, *.exe etc. Die Dateien werden vom Internet Explorer 5.x mit einem Formular an den IIS 4.0 bzw. 5.0 geschickt und dort mittels Perl in eine Datei gechrieben. Hier das Perl Script:

#!/usr/bin/perl
use CGI;

#-------------------------------------------------------

HTML Kopf ausgeben

#-------------------------------------------------------

$kopf = new CGI;

print $kopf->header,
$kopf->start_html('Dateiupload'),
$kopf->h1('Dateiinformation'),
$kopf->end_html;

#-------------------------------------------------------

Daten aus Formular übernehmen

#-------------------------------------------------------

$query = new CGI;
$quelldatei = $query->upload('Quelldatei');
$zielpfad = $query->param('Zielpfad');

print "Quelldatei: ".$quelldatei."<BR>";
print "Zielpfad: ".$zielpfad."<BR>";

#-------------------------------------------------------

Dateiname aus Quelle lesen

#-------------------------------------------------------

$_ = $quelldatei;
s/\w://;
s/([^/\]+)$//;
$_ = $1;
s/..+//g;
s/\s+//g;
$dateiname = $_;

print "Dateiname: ".$dateiname."<BR>";

#-------------------------------------------------------

Datei kopieren

#-------------------------------------------------------

open(OUT,">".$zielpfad.$dateiname);
while (<$quelldatei>)
    {
    binmode(OUT); #bei Win32 nötig, damit Dateien 1:1
    print OUT;
    }
close(OUT);