文件上传到服务器的程序为什么找不到上传的文件

文件上传到服务器的程序为什么找不到上传的文件

文件上传到服务器的程序为什么找不到上传的文件
我首先执行下边的htm文件
<html>
<body>
<form method="POST" action="/cgi-bin/test/psupload.pl" ENCTYPE="multipart/form-data">
File 1:
<input type="file" name="FILE1">
<br>
File 2:
<input type="file" name="FILE2">
<br>
<input type="submit" value="Upload!">
</form>
</body>
</html>

psupload.pl如下:


#!/usr/bin/perl
use CGI;
$upfilecount = 1;
$maxuploadcount = 2; #限制上传文件的最大数
$basedir = "/var/perltest"; #上传的文件存放地址
$allowall = "no"; #是否不限制文件后缀上传
@theext =(".zip",".exe",".gif"); #要限制的文件后缀名

print "Content-type: text/html\n\n";

while ($upfilecount <= $maxuploadcount) {
my $req = new CGI;
my $file = $req->param("FILE$upfilecount")
if ($file ne "") {
my $fileName = $file;
$fileName =~ s/^.*(\\|\/)//; #用正则表达式去除无用的路径名,得到文件名
my $newmain = $fileName;
my $filenotgood;
if ($allowall ne "yes") {
$extname = lc(substr($newmain,length($newmain) - 4,4)); #取后缀名
for(my $i = 0; $i < @theext; $i++){ #这段进行后缀名检测
if ($extname eq $theext[$i]){
$filenotgood = "yes";
last;
}
}
}
if ($filenotgood ne "yes") { #这段开始上传
open (OUTFILE, ">$basedir/$fileName");
binmode(OUTFILE); #务必全用二进制方式,这样就可以放心上传二进制文件了。而且文本文件也不会受干扰
while (my $bytesread = read($file, my $buffer, 1024)) {
print OUTFILE $buffer;
}
close (OUTFILE);
$message.=$file . " 已成功上传!<br>\n";
}
else{
$message.=$file . " 文件后缀不符合要求,上传失败!<br>\n";
}
}
$upfilecount++;
}
print $message; #最后输出上传信息

疑问:
web页面输出上传成功,但是我在服务器的相应目录下边没有找到相应的上传的文件,我判断read函数没有成功,但是为什么会显示上传成功呢?
怎么才能上传成功?
[CCB]9[/CCB][CCB]10[/CCB]
已经解决
[CCB]1[/CCB]
怎么解决的?
是啊...