use CGI; use strict; sub GetDirectoryName() { #Perl's special variable, $$ returns the current pid and $^T returns the timestamp (in seconds since 1970). #time stamp PID and a counter are used to make a uniqe dir name my $counter = 0; my $dir_name = ""; do { $dir_name = sprintf("%s%s%s%s","cgh",$$,$^T,$counter++); } while -e $dir_name; return $dir_name; } my $query = new CGI; my $DirName=GetDirectoryName(); my $UploadDir = "/var/www/website/output/tmp/" . $DirName; my $command = "mkdir $UploadDir"; system ($command); my $UserFilename = $query->param("uploadFile"); $UserFilename =~ s/.*[\/\\](.*)/$1/; my $GivenUserFilename=sprintf("%s%s",$DirName,".HTML"); my $UserFilehandle = $query->upload("uploadFile"); open UPLOADFILE, ">$UploadDir/$GivenUserFilename"; while ( <$UserFilehandle> ){ print UPLOADFILE ;} close UPLOADFILE; print $query->header ( ); print < done END_HTML