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

Reply via email to