##
#!/usr/bin/perl
use GD;
my $req = new CGI;
# CONFIGURE VARIABLES
$jpeg_quality = 75;
#
#
$Data = "pictures";
# On your server, create a directory where this program will write the files
# to. Make sure you CHMOD this directory to 777. If you do NOT specify a $Data
# directory, the program will attempt to write to the web root directory.
# NOTE: YOU SHOULD ALWAYS SPECIFY A DIRECTORY TO STORE THE UPLOAD
@good_extensions = ('gif', 'jpg', 'jpeg','png', 'PNG','GIF', 'JPG', 'JPEG');
# If you want to limit the types of extension that can be uploaded, specify them
# here by adding them to the array. For example, if you wanted to permit only
# the upload of gif's, jpg's and png's, then you would set the above array to
# look like this:
# @good_extensions = ('gif', 'jpg', 'jpeg', 'png');
#
@bad_extensions = ();
# If you want to permit the upload of all file types with only certain exceptions,
# then specify those extensins in the bad_extensions array. This means that if set
# this array to contain .exe, .pl, .cgi files, then the program will only store a
# file if the extension of that file is NOT found in this array.
# To set the array to exclude these sample extensions, you would set it like this:
# @bad_extensions = ('exe', 'cgi', 'pl');
#
# NOTE: If you specify both @good_extensions and @bad_extensions, then
# the settings in @bad_extensions will be ignored and the program will
# use @good_extensions as it's refrence.
#$redirect = "";
# When the upload of files is complete, the program must print someting out on the
# browser screen. Set the $redirect variable to the full URL (don't forget the http://)
# that you want the person taken to once the program is finished. If you don't specify
# a URL here, the program will print out a simple upload summary page.
$max_size = "2000";
# Set the maximum size of each file that is permitted. For example, if you only want
# files to be uploaded that are under 50Kb in size, set the value to:
# $max_size = 50;
# If you set the value to zero, remove it or comment it out, then the size of the
# uploaded file will NOT be checked.
$max_num_files = 5;
# You must specify the maximum number of files that can be uploaded at one time. You
# can set this to any number you want but be realistic. The limit before the server
# times out will depend on the maximum size of the upload. I have tested this program
# with ASCII files up to 8MB in size successfully but that was on a particularly
# robust server. I recommend that you set this no higher than 5 if you are going to
# be using this for larger binary files such as images or executables or word docs, etc.
# If you remove, comment out or set this value to zero, the program will default the
# value to 1 file.
#
#######################################################################################
#
# DO NOT EDIT ANYTHING BELOW THIS LINE
# UNLESS YOU KNOW WHAT YOU ARE DOING
#
if(($ENV{'QUERY_STRING'} =~ /^debug/) && !$no_debug) {
print "Pragma: no-cache\nContent-type: text/html\n\n";
print "PSUpload Demonstration Upload Program - Debug Mode \n";
print"
$URL
$Half_Credit_Limit
$req->param('URL')
";
print "Charity Ware's PSUpload Program
\n";
print "- Your web root directory appears to be located
at:
- $ENV{'DOCUMENT_ROOT'}
- You specified directory for storing the uploads
is:
- $Data
- Your specified directory...
- \n";
if(-d $Data) {
print "...appears to be a valid directory.
Make sure this \$Data directory is
CHMOD 777.\n";
} else {
print "...does not appear to be a valid directory.
\n";
unless($Data =~ /^$ENV{'DOCUMENT_ROOT'}/) {
print "The value you specified in the \$Data variable is incorrect. Please
correct
your \$Data variable and run debug again.
\n";
}
}
if($Data =~ /\/$/) {
print "NOTE: Your variable \$Data ends with a trailing slash.
Please
remove this trailing slash, upload the program again
and run debug once more to see
if you have a valid directory.
\n";
}
print "
OS:
$^O
Perl:
$] Installed:
"; my
@inst = split(/\//, $ENV{'SERVER_SOFTWARE'}); print join("
", @inst);
print"