claymaker
03-06-2006, 07:38 PM
Is there a way to limit the upload size
--------------------------------------------------------------------------
#!/usr/bin/perl
# perl modules & scripts to use
use CGI;
require "config.pl";
require "common.pl";
&getSession; # check to see who's uploading
# upload
for ($currentFile = 1; $currentFile <= $noOfUploads; $currentFile++){
$formInfo = new CGI;
$whichGallery = $formInfo->param ("gallery$currentFile");
if ($authorizeUploads && !$loggedIn){
$uploadDirectory = $directoryOfGalleries.$whichGallery.'/uploads/';
$captionFile = "${directoryOfCaptions}${whichGallery}-uploads.txt";
}
else{
$uploadDirectory = $directoryOfGalleries.$whichGallery.'/';
$captionFile = "${directoryOfCaptions}${whichGallery}.txt";
}
$image = $formInfo->param ("image$currentFile");
$imageFileHandle = $formInfo->upload("image$currentFile");
$image =~ s/.*[\/\\](.*)/$1/; #strip everything but the file name
$image = lc($image); # lower case image name
# check to see if file is right type
$indexOfLastPeriod = rindex ($image, '.');
$currentFileExtension = substr ($image, $indexOfLastPeriod);
$validFile = 0;
foreach $fileExtension(@fileTypes){
if ($currentFileExtension eq $fileExtension){$validFile = 1;}
}
# file is a valid file type
if ($validFile){
$currentImageName = substr ($image, 0, $indexOfLastPeriod);
$currentImageName =~ s/[\s+\W]/_/g; # take out the spaces and illegal characters and replace with underscores
$image = $currentImageName.$currentFileExtension;
$fileToUpload = "${uploadDirectory}$image";
if (-e $fileToUpload){
# get current picture name
$counter = 1;
}
while (-e $fileToUpload){
$image = $currentImageName."_${counter}${currentFileExtension}";
$fileToUpload = "${uploadDirectory}$image";
$counter++;
}
open UPLOADFILE, ">$fileToUpload";
binmode UPLOADFILE;
while (<$imageFileHandle>){
print UPLOADFILE;
}
close UPLOADFILE;
if ($enableCaptions){$caption = $formInfo->param ("caption$currentFile");}
if ($enableCaptions && $caption ne ""){
open CAPTIONS, ">>$captionFile";
flock (CAPTIONS, 2);
$input = join "|:|", ($image, $caption);
print CAPTIONS "$input\n";
close CAPTIONS;
}
$result = "File $currentFile was uploaded successfully!";
push (@results, $result);
}
elsif ($image eq ""){
$result = "File $currentFile does not exist!";
push (@results, $result);
}
else {
$result = "<b>File $currentFile is not a valid file type!</b>";
push (@results, $result);
}
}
if ($loggedIn){
&adminHeader;
}
else{
&header;
}
print "<center><font size=5 color=ffcc00>Upload Results<br><br>";
foreach (@results){
print "$_ <br></font>\n";
}
if ($loggedIn){
&adminFooter;
}
else{
&galleryJump;
&footer;
}
#get sesion
sub getSession{
open SESSION, "<sessionid.txt" or $loggedIn=0;
flock (SESSION, 1);
@ip=<SESSION>;
close SESSION;
if ($ENV{REMOTE_ADDR} eq $ip[0]){$loggedIn=1;}
else {$loggedIn=0;}
}
--------------------------------------------------------------------------
#!/usr/bin/perl
# perl modules & scripts to use
use CGI;
require "config.pl";
require "common.pl";
&getSession; # check to see who's uploading
# upload
for ($currentFile = 1; $currentFile <= $noOfUploads; $currentFile++){
$formInfo = new CGI;
$whichGallery = $formInfo->param ("gallery$currentFile");
if ($authorizeUploads && !$loggedIn){
$uploadDirectory = $directoryOfGalleries.$whichGallery.'/uploads/';
$captionFile = "${directoryOfCaptions}${whichGallery}-uploads.txt";
}
else{
$uploadDirectory = $directoryOfGalleries.$whichGallery.'/';
$captionFile = "${directoryOfCaptions}${whichGallery}.txt";
}
$image = $formInfo->param ("image$currentFile");
$imageFileHandle = $formInfo->upload("image$currentFile");
$image =~ s/.*[\/\\](.*)/$1/; #strip everything but the file name
$image = lc($image); # lower case image name
# check to see if file is right type
$indexOfLastPeriod = rindex ($image, '.');
$currentFileExtension = substr ($image, $indexOfLastPeriod);
$validFile = 0;
foreach $fileExtension(@fileTypes){
if ($currentFileExtension eq $fileExtension){$validFile = 1;}
}
# file is a valid file type
if ($validFile){
$currentImageName = substr ($image, 0, $indexOfLastPeriod);
$currentImageName =~ s/[\s+\W]/_/g; # take out the spaces and illegal characters and replace with underscores
$image = $currentImageName.$currentFileExtension;
$fileToUpload = "${uploadDirectory}$image";
if (-e $fileToUpload){
# get current picture name
$counter = 1;
}
while (-e $fileToUpload){
$image = $currentImageName."_${counter}${currentFileExtension}";
$fileToUpload = "${uploadDirectory}$image";
$counter++;
}
open UPLOADFILE, ">$fileToUpload";
binmode UPLOADFILE;
while (<$imageFileHandle>){
print UPLOADFILE;
}
close UPLOADFILE;
if ($enableCaptions){$caption = $formInfo->param ("caption$currentFile");}
if ($enableCaptions && $caption ne ""){
open CAPTIONS, ">>$captionFile";
flock (CAPTIONS, 2);
$input = join "|:|", ($image, $caption);
print CAPTIONS "$input\n";
close CAPTIONS;
}
$result = "File $currentFile was uploaded successfully!";
push (@results, $result);
}
elsif ($image eq ""){
$result = "File $currentFile does not exist!";
push (@results, $result);
}
else {
$result = "<b>File $currentFile is not a valid file type!</b>";
push (@results, $result);
}
}
if ($loggedIn){
&adminHeader;
}
else{
&header;
}
print "<center><font size=5 color=ffcc00>Upload Results<br><br>";
foreach (@results){
print "$_ <br></font>\n";
}
if ($loggedIn){
&adminFooter;
}
else{
&galleryJump;
&footer;
}
#get sesion
sub getSession{
open SESSION, "<sessionid.txt" or $loggedIn=0;
flock (SESSION, 1);
@ip=<SESSION>;
close SESSION;
if ($ENV{REMOTE_ADDR} eq $ip[0]){$loggedIn=1;}
else {$loggedIn=0;}
}