So I have the code below for file uploads. I got it here…
And modified it for my use. It uploads great but it’s not catching over sized files
with $CGI::POST_MAX = 1024 * 50; I only allow 50kb files.
Any ideas are appreciated.
sub upload1 {
my ($db_id) = @_;
my ($result,$ext,$buffer);
use CGI;
my $query = new CGI;
my $fileName = $query->param('FILE1');
$CGI::POST_MAX = 1024 * 50;
if ( !$fileName ){ $result = "NO UPLOAD1"; } ###########NO UPLOAD1
else{
if ($fileName=~ /.*.gif/) {$ext = ".gif"; }
if ($fileName=~ /.*.GIF/) {$ext = ".gif"; }
if ($fileName=~ /.*.jpg/) {$ext = ".jpg"; }
if ($fileName=~ /.*.JPG/) {$ext = ".jpg"; }
if($ext eq ""){ $result ="NO UPLOAD2"; }###########NO UPLOAD2
else
{
$fileName = $db_id;
$fileName = "$fileName" . "$ext";
my $upload_dir = "$user_path/graphics/$db_id";
my $upload_filehandle = $query->upload("FILE1");
open ( UPLOADFILE, ">$upload_dir/$fileName" ) or die "$!";
binmode UPLOADFILE;
while ( <$upload_filehandle> ) {
print UPLOADFILE;
}
close UPLOADFILE;
$result ="$fileName";
}#else ###########NO UPLOAD2
}########### else NO UPLOAD1
return $result;
}