Jeg har puslet lidt med nedenstående script som jeg har fundet på nettet
Scriptet skulle uploade filer til en web-server
det ser jo ret simpelt ud - men det virker bare ikke
############################################################################
####
#!perl
############################################################################
####
# opsætningsparametre - start
############################################################################
####
# 1) Definer placeringen af filer
# Sti hvor filerne skal uploades - ingen / til sidst
$basedir = "D:/Hjemmesider/Content/test";
# Den side der skal vises efter upload f.eks.
http://www.mydomainname.com/thankyou.html
$donepage = "
http://192.168.0.1/test/index.htm";
# 2) Definer Hvilke filtyper der må benyttes
# alle eller en filtype(r) ja/nej
$tillad_alle = "ja";
# hvis "nej" ovenfor - hvilke typer tillades (brug 4 tegn f.eks. .ext)
$fil_efternavn = ".gif";
############################################################################
####
# opsætningsparametre - slut
############################################################################
####
# program start
############################################################################
####
use CGI;
$nummer = 1;
while ($nummer != 11) {
my $req = new CGI;
my $file = $req->param("FILE1");
my $file = $req->param("FILE$nummer");
if ($file ne "") {
my $fileName = $file;
$fileName =~ s!^.*(\\|\/)!!;
$newmain = $fileName;
if ($tillad_alle ne "ja") {
if (lc(substr($newmain,length($newmain) - 4,4)) ne $fil_efternavn) {
$filenotgood = "yes";
}
}
if ($filenotgood ne "yes") {
open (OUTFILE, ">$basedir/$fileName");
print "$basedir/$fileName<br>";
while (my $bytesread = read($file, my $buffer, 1024))
print OUTFILE $buffer;
}
close (OUTFILE);
}
}
$nummer++;
}
print "Content-type: text/html\nLocation:$donepage\n\n";
############################################################################
####
# slut på program
############################################################################
####
Jeg får fejlmeldingen (i error.log)
[Sat Nov 25 17:40:05 2000] [error] [client 192.168.0.6] Premature end of
script headers: c:/perl/cgi-bin/psupload.cgi
[Sat Nov 25 17:40:05 2000] [error] [client 192.168.0.6] CGI open of tmpfile:
No such file or directory
Hvis jeg ikke vælger nogen fil kører det OK men det er jo et uinteresant
tilfælde
############################################################################
####
Scriptet kaldes fra en hjemmeside med følgende kode:
<html><body>
<form method="POST" action="/cgi-bin/psupload.cgi"
ENCTYPE="multipart/form-data">
File 1: <input type="file" name="FILE1"><br>
File 2: <input type="file" name="FILE2"><br>
<input type="submit" value="Send fil(er)!!">
</form></body></html>
############################################################################
####
Systemet er: win98 med Apache-server samt
(C:\Perl\cgi-bin>perl -v) giver:
This is perl, v5.6.0 built for MSWin32-x86-multi-thread
(with 1 registered patch, see perl -V for more detail)
Copyright 1987-2000, Larry Wall
Binary build 618 provided by ActiveState Tool Corp.
http://www.ActiveState.com
Built 21:03:54 Sep 13 2000
Jørgen Sørensen