#!/usr/bin/perl -w
#
# Perl script to accept file uploads. This script is provided for demonstration
# purposes only.
# you need to have the CGI module installed.
#
use CGI;
use File::Temp qw/ tempfile tempdir /;
sub bye_bye {
$mes = shift;
print "
$mes
\n";
exit;
}
my $cg = new CGI();
my $size = $cg->param;
my $qstring="?";
for($i=0 ; $i < $size ; $i++)
{
$file_upload = $cg->param("userfile[$i]");
if($file_upload) {
my $fh = $cg->upload("userfile[$i]");
($tmp_fh, $tmp_filename) = tempfile();
while(<$fh>) {
print $tmp_fh $_;
}
close($tmp_fh);
$fsize =(-s $fh);
$fh =~ s/([^a-zA-Z0-9_\-.])/uc sprintf("%%%02x",ord($1))/eg;
$tmp_filename =~ s/([^a-zA-Z0-9_\-.])/uc sprintf("%%%02x",ord($1))/eg;
$qstring .= "userfile[name][$i]=$fh&userfile[size][$i]=$fsize&";
$qstring .= "tmp_name[name][$i]=$tmp_filename&";
}
}
my $url = "http://localhost/upload-redir.php";
$url .= $qstring;
print "Location: $url\n\n";