есть скрипт для Upload-a файлов
возникает такая проблема как мне не загружая файл полностью определить имя файла из формы и если он уже есть то оборвать upload ?
#!/usr/bin/perl -w
use strict;
my $basedir = "/html/html/upload";
my $buffer;
opendir (DIR ,$basedir) or die "error $!\n";
my @d = readdir(DIR);
closedir(DIR);
use CGI;
my $q = new CGI;
my $fn = $q->param("test");
my $file = $fn;
$file =~ s!^.*(\\|\/)!!;
foreach my $key (@d){
if ($file eq $key) {
print "Content-type: text/html\n\n";
print "file with such name already exists in the dir\n";
exit(0);
}
}
#несмотря на этот участок ^ браузер все равно ждет то-же время , что #надо для загрузки файла .
my $error = $q->cgi_error;
if (!$fn && $error) {
print $q->header(-status=>$error);
exit 0;
}
open (OUTFILE,">>","/html/html/upload/$file") || die "error $! \n";
while (my $bytesread = read($fn,$buffer,1024)) {
print OUTFILE $buffer;
}
print "Content-type: text/html\n\n";
opendir (DIR ,$basedir) or die "error $!\n";
my @dir = readdir(DIR);
closedir(DIR);
print "<h2> DONE </H2>\n";
print "@dir\n";
a vot forma:
<form method="POST" action="/cgi-bin/up.cgi"
ENCTYPE="multipart/form-data">
File 1: <input type="file" name="test">
<br>
<input type="submit" value="upload">
</form>