in reply to [untitled node, ID 155208]
You've been told to use CGI.pm now here's how you might do it - given that you have a form like :
Then this code will save the uploaded file and give you the value of the text field - you can have as many text fields or upload fields as you want:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Test</title> </head> <body> <form method="post" action="/cgi-bin/uptest.cgi" enctype="multipart +/form-data"> <input type="file" name="uploaded_file" /> <input type="text" name="text_field" /> <input type="submit" name="submit" value="submit" /> </form> </body> </html>
#!/usr/bin/perl -wT use strict; use CGI qw(:standard); use CGI::Carp qw(fatalsToBrowser); my $fh = upload('uploaded_file'); my $filename = param('uploaded_file'); open OUTFILE, "> /tmp/$filename" or die "/tmp/$filename - $!\n"; print header('text/html'), start_html(), p("filename : $filename (saved in /tmp)"), p("text_field : " . param('text_field')); while (<$fh>) { print OUTFILE $_; } print end_html();
/J\
|
|---|