Hej
Jeg har nogle problemer med et perl/cgi script der skal lade brugeren
uploade en fil til serveren som gemmes under et bestemt navn. Scriptet
kaldes med filnavnet som parameter
(
http://minegenserver.dk/upload.cgi?filename=abc.jpg) og skal herefter først
lade brugeren indtaste/vælge filnavnet og derefter gemme filen på serveren
som "abc.jpg". Problemet opstår når jeg forsøger at videresende "filename"
parameteren til den den af scriptet der gemmer filen på serveren,
"serverfilename" får ikke nogen værdi i else delen af det nedenstående
script. Hvad gør jeg forkert?
Mvh. Christian Hove
#!/usr/bin/perl -w
$datapath = './';
use CGI;
$q = new CGI;
if(not $q->param('clientfilename')){
$serverfilename = $q->param(filename);
print
$q->header,
$q->start_multipart_form,
$q->filefield(-name=>'clientfilename',-size=>25),
$q->submit(-name=>'Upload File');
$q->param(-name=>'serverfilename',-value=>$serverfilename); # DET
ER HER DET IKKE VIRKER!!!
$q->end_form;
} else {
$serverfilename = $q->param('serverfilename');
$clientfilename = $q->param('clientfilename');
open FILE, ">$datapath/$serverfilename";
while(read($serverfilename,$buffer,1024)){
print FILE $buffer;
}
close FILE;
print $q->header;
print "Client file \"$clientfilename\" was successfully uploaded and
saved as \"$serverfilename\" on server";
}