CGI Upload a file
CGI
Download (.zip)
#!perl
$content_type = $ENV{'CONTENT_TYPE'}; binmode STDIN; read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); if ((!$content_type) || ($content_type =~ m#^multipart/form-data#)){ ($boundary = $content_type) =~ s/^.*boundary=(.*)$/\1/; @pairs = split(/--$boundary/, $buffer); @pairs = splice(@pairs,1,$#pairs-1); for $part (@pairs) { ($dump,$fline,$value) = split(/\r\n/,$part,3); next if $fline =~ /filename=\"\"/; $fline =~ s/^Content-Disposition: form-data; //; (@columns) = split(/;\s+/, $fline); ($name = $columns[0]) =~ s/^name="([^"]+)"$/\1/g;
if ($#columns > 0) { if ($value =~ /^Content-Type:/) { ($dump,$dump,$value) = split(/\r\n/,$value,3); } else {($dump,$value) = split(/\r\n/,$value,2);}} else {($dump,$value) = split(/\r\n/,$value,2); if (grep(/^$name$/, keys(%CGI))) { if (@{$FORM{$name}} > 0) { push(@{$FORM{$name}}, $value);} else { $arrvalue = $FORM{$name}; undef $FORM{$name}; $FORM{$name}[0] = $arrvalue; push(@{$FORM{$name}}, $value);}} else { next if $value =~ /^\s*$/; $FORM{$name} = $value;} next;} $FORM{$name} = $value;}} else{ @pairs2 = split(/&/, $buffer); foreach $pair2 (@pairs2) { ($name2, $value2) = split(/=/, $pair2); $value2 =~ tr/+/ /; $value2 =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value2 =~ s/<!--(.|\n)*-->//g; $input{$name2} = $value2; }}
#dir $base='upload/'; chdir($base); $name_file = $input{'name_file'};
$upfile1 = $FORM{'upfile1'}; $upname1 = $FORM{'upname1'};
#Upload 1 file $filename1 = $upname1; open(FILE1, ">$filename1"); binmode FILE1; print FILE1 $upfile1; close FILE1;
print "Content-type: text/html\n\n"; print "<center><FONT face=Tahoma size=2>Uploaded: ".length($upfile1)." bytes</center>"; print "<html> <FORM method=POST action='upload.pl' enctype='multipart/form-data'> <table bgcolor=black border=0 cellspacing=1 cellpadding=4 width=100%> <tr> <td valign=top width=100% bgcolor=gray> <center><FONT face=Verdana size=2> <b>Upload Files</b> <hr size=1 color=black> </center> <font face=Verdana size=2> <input type=file size=25 name=upfile1><br> <input type=text name=upname1 size=25> Име на файла <hr size=1 color=#e1e1e1> <input type=submit value=Upload> </form> </td></tr></table> <font face=Verdana size=2><P><center> Качените файлове се намират в директорията <A href='http://192.168.196.128/upload/'>upload</A> </center> </font> </html>";
|