#!/usr/bin/perl print "Content-type: text/html\n\n"; print "Upload Script"; use CGI; # load the CGI.pm module my $GET = new CGI; # create a new object my @VAL = $GET->param; #get all form field names foreach(@VAL){ $FORM{$_} = $GET->param($_); # put all fields and values in hash } $uploadfile = $FORM{'userfile'}; $orgfile = $FORM{'userfile'}; $uploadfile =~ s/^.*(\\|\/)//; $uploadfile =~ s/\s+//ig; $uploadfile =~ s/\./PsJsDoT/g; $uploadfile =~ s/\-/PsJsDaSh/g; if($uploadfile =~ /\W/){ $uploadfile =~ s/\W/n/ig; # replace any bad chars with the letter "n" } $uploadfile =~ s/PsJsDoT/\./g; $uploadfile =~ s/PsJsDaSh/\-/g; $filesize = $FORM{'MAX_FILE_SIZE'}; $denverfile = "../data/denver/"; $chicagofile = "../data/chicago/"; $lafile = "../data/losangelas/"; $sanfile = "../data/sandiago/"; ($city,$date,$name,$ext) = split(/\./,$uploadfile); if ($city eq "denver") { $movefile = $denverfile.$uploadfile; }elsif ($city eq "chicago") { $movefile = $chicagofile.$uploadfile; }elsif ($city eq "losangelas") { $movefile = $lafile.$uploadfile; }elsif ($city eq "sandiago") { $movefile = $sanfile.$uploadfile; }else{ $newfile = "../data/$city/"; mkdir ("../data/$city", 0777); chmod(0777, "../data/$city"); $movefile = $newfile.$uploadfile; } print "The file you uploaded was: $uploadfile\n"; print "The file went to directory: $movefile\n"; open(NEW, ">$movefile") || die "Can not open $movefile"; binmode NEW; #switch to binary mode # start reading users HD 1 kb at a time. while ($bytesread=read($orgfile, $buffer, 1024)) { # print each kb to the new file on the server print "buffer: ".$buffer; print NEW $buffer; } close NEW; # close the new file on the server and we're done chmod(0777, "$movefile"); print ""; exit;