Code: function setval() { var url = window.location.toString(); url.match(/\?(.+)$/); var params = RegExp.$1; var params = params.split("&"); var queryStringList = {}; for(var i=0;i<params.length;i++) { var tmp = params[i].split("="); var acc_usr=tmp[1]; document.getElementById('pusr').value = acc_usr; } } <body onload = "setval();"> <FORM ENCTYPE="multipart/form-data" ACTION="/cgibin/fupload.cgi" METHOD="POST"> <TABLE BORDER=0 WIDTH="550"> <TR> <TD ALIGN=RIGHT> File Name: </TD> <TD> <INPUT TYPE="File" NAME="filetoupload01" SIZE="70"> </TD> </TR> <TR> <TD COLSPAN=2> <BR></TD> </TR> <TR> <TD ALIGN=RIGHT> <INPUT TYPE="Submit" onclick="ValidateFilename(filetoupload01.value)" VALUE="UPLOAD FILE"> <INPUT TYPE="HIDDEN" NAME="filetoupload02" VALUE=""> </TD> <TD ALIGN=RIGHT > <INPUT TYPE="RESET" VALUE="RESET FORM"> <INPUT TYPE="hidden" name="pusr" value="" /> </TD> </TR> </TABLE> </FORM> </body> the following is the code in fupload.cgi Code: my %ufiles; foreach $key (sort {$a <=> $b} $query->param()) { next if ($key =~ /^\s*$/); next if ($query->param($key) =~ /^\s*$/); next if ($key !~ /^filetoupload_(\d+)$/); $Number = $1; if ($query->param($key) =~ /([^\/\\]+)$/) { $Filename = $1; $Filename =~ s/^\.+//; $ufiles{$Number} = $Filename; $File_Handle = $query->param($key); i want to read the value of <code>pusr</code> thats coming from the html form and rename the uploaded file with the name of pusr value
use $handle file handle, you don't need value $query->param($key): Code: if (not($query->upload($key))) { if ($query->cgi_error) { die "Error uploading picture ".$query->cgi_error."\n"; } } else { my $handle=$query->upload($key)->handle; ...
Code: use strict; use warnings; use CGI; my $cgi = new CGI; ## get all upload file input names my @all_upload_files = grep { /^filetoupload_(\d+)$/ } keys $cgi->Vars; foreach my $file_upload_name (@all_upload_files) { my ($filename) = $cgi->param($file_upload_name) =~ /([^\/\\]+)$/; ## append to filename/ or do whatever you want $filename .= '_' . $cgi->param('pusr'); my $uph = $cgi->upload($file_upload_name); binmode $uph; open my $h, '>', "$filename" or die $!; while (<$uph>) { print {$h} $_; } close $h; }