#!/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";