I'm having trouble with a script I'm writing. It's supposed to upload files using CGI, but it's not working. This is my first time attempting this, so it's probably something simple. Here goes.
The Code
This doesn't work, for some reason it quites after calling $cgi->upload Does anyone know why this happens? (For those wondering, this isn't the whole script.)if ($event = $cgi->param('event')) { $description = $cgi->param('description'); $fh = $cgi->upload('file'); my $file4desc = $fh; $file4desc =~ s/\.\w+$/\.txt/; if (-e "$event/$file4desc") { print "There's already a file under that name. Please rename t +he file and try again."; } else { open FILE, ">$event/$fh"; while (<$fh>) { print FILE $_; } close FILE; open DESC, ">$event/$file4desc"; ($sec,$min,$hour,$date,$mon,$year,$wday,$ydat,$isdst) = localt +ime(); $year += 1900; $mon++; print DESC "$description added $mon/$date/$year by $username"; close DESC; print "Uploaded $fh"; } } else { my @events = ('event1,event2,event3'); print "<form method='POST' action='index.pl' enctype='multipart/fo +rm-data'>\n"; print "<input type='hidden' name='node' value='upload'>\n"; print "<h2>Upload</h2>\n"; print "<b>Event:</b><br>\n"; print "<select name='event'>\n"; foreach $event (@events) { my $presentable = $event; $presentable =~ s/_/ /g; print "<option value='$event'>$presentable\n\n"; } print "</select><p>\n"; print "<b>File:</b><br>\n"; print $cgi->filefield(-name => 'file'); print "<p><b>Description:</b><br>\n"; print "<textarea name='description' rows=6 cols=50></textarea><br> +\n"; print "<input type='submit' value='upload'>\n"; print "</form>"; }
- p u n k k i d
"Reality is merely an illusion,
albeit a very persistent one."
-Albert Einstein
In reply to Help with a File Upload by elusion
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |