Go4Expert

Go4Expert (http://www.go4expert.com/)
-   Perl (http://www.go4expert.com/forums/perl/)
-   -   help me to get pusr (http://www.go4expert.com/forums/help-pusr-t27051/)

sasidv 31Oct2011 12:48

help me to get pusr
 
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>&nbsp;<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

chorny 11Nov2011 05:59

Re: help me to get pusr
 
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;
      ...


pradeep 25Nov2011 11:05

Re: help me to get pusr
 
Code: Perl

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;

}



All times are GMT +5.5. The time now is 22:01.