macaroni has asked for the wisdom of the Perl Monks concerning the following question:
I'm confused as to where the file for an uploaded file is written to, the OPEN function always fails on me. I always get file permission problem or file or directory does not exist.
I'm using Mac OS X's built in Apache Server.
I'm unclear as to the structure of where files will be uploaded and how to write it to a directory such as the directory is located in /Library/WebServer/Documents/fileuploads/
#!/usr/bin/perl use CGI; $q = new CGI; print $q->header, $q->start_html(-title=>"Upload Results",-bgcolor=>"w +hite"); print $q->h2("Upload Results"); $file = $q->param("upfile"); if (!$file) { print "Nothing uploaded?<p>\n"; } else { print "Filename: $file<br>\n"; $ctype = $q->uploadInfo($file)->{'Content-Type'}; print "MIME Type: $ctype<br>\n"; #where is ">$file" going to be written to? and how to set to differen +t directory? open(OUT,">$file") or dienice("Can't open outfile for writing: $!" +); $flen = 0; while (read($file,$i,1024)) { print OUT $i; $flen = $flen + 1024; if ($flen > 5120000) { close(OUT); dienice("Error - file is too large. Save aborted.<p>"); } } close(OUT); print "Length: ",$flen/1024,"Kb<p>\n"; print "File saved!<p>\n"; # display the image. this only works because we have a symlink from # tmp.gif/jpeg in the current directory, to /tmp/outfile. if ($ctype eq "image/gif") { print "Here's what you sent:<p>\n"; print "<img src=\"tmp.gif\" border=1><p>\n"; } elsif ($ctype eq "image/jpeg") { print "Here's what you sent:<p>\n"; print "<img src=\"tmp.jpg\" border=1><p>\n"; } } $q->end_html; sub dienice { my($msg) = @_; print "<h2>Error</h2>\n"; print "$msg<p>\n"; exit; }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: CGI to upload file can't access filehandle
by perlplexer (Hermit) on Apr 16, 2003 at 20:28 UTC | |
Re: CGI to upload file can't access filehandle
by dws (Chancellor) on Apr 16, 2003 at 20:22 UTC | |
Re: CGI to upload file can't access filehandle
by crenz (Priest) on Apr 16, 2003 at 20:24 UTC |
Back to
Seekers of Perl Wisdom