On Sun, Nov 16, 2008 at 4:05 PM, Adam Jimerson <[EMAIL PROTECTED]> wrote:
> I'm trying to make a CGI script to upload files remotely onto my server, to > get around my uni blocking everything but port 80, but I have ran into a > problem with it. I followed the documentation on CPAN for uploading files > and did what they have suggested as the best way but it doesn't work. Here > is my code: > > #!/usr/bin/perl > use warnings; > use strict; > use CGI ':standard'; > > #Declare any variables > my $radio_button; > my $filename; > > #Generate the form > print header; > print start_html ("File Uploader v3"); > print "<h1>File Uploader</h1>\n"; > print "<hr>\n"; > print "<p>Which file type: </p>"; > print radio_group(-name=>'File_Type', > -values=>['HTML', 'CGI'], > -default=>'HTML'); > print start_multipart_form(); > print "<p>File Upload: </p>"; > print filefield (-name=>'Uploaded_file', > -default=>'Give a file', > -size=>'50'); > print "<br><br>"; > print submit('Upload', 'Upload'); > print reset; > print endform; > > #Do the work > $radio_button = param('File_Type'); > if ( $radio_button eq "HTML" ) { > $filename = upload('Uploaded_file'); > open (OUTFILE, ">>/tmp/uploaded.html") || die "Can't open the file: > $!"; > while (<$filename>) { > print OUTFILE $_; > } > close (OUTFILE); > open (MAIL, "|mail -s \"File Uploaded\" vendion"); > print MAIL "A file has just been uploaded!\n"; > close (MAIL); > } else { > #Code soon to come > } > print end_html; > > Running it locally prints out the generated HTML and it looks right and the > page does open correctly on my server but there is not file in /tmp and the > mail is never sent and I don't know if it is a problem with opening the > OUTFILE handle because the die command doesn't kick in from what I can see. > You'll want to look in the error log to see what is there. Sean