You are using a relative directory path, and your current directory is not what you think. Use the full path to your "temp" directory, or better, use the File::Temp module to create a filename for a temporary file:
#!/usr/bin/perl -wT use strict; BEGIN { $|=1; print "Content-type: text/html\n\n"; use CGI::Carp('fatalsToBrowser'); } use CGI; use LWP::Simple; use File::Temp qw(tempfile); use CGI::Untaint; my $handler = CGI::Untaint->new($q->Vars); my ($fh,$name) = tempfile( "fileXXXXXXXX.jpg", DIR => '/home/web/user1 +/temp' ); my $url = $handler->extract(-as_url => 'set'); #my $url = $q->param('set'); #$url =~ m!^(http://[-.\w?&;]+.jpg)! # or die "The url does not look valid"; #$url = $1; getstore($url,"../temp/$filename");
Please note that your script as written can be used to attack other webservers. You will want to restrict your script so it cannot be used by other people.
Update: Changed the code to use CGI::Untaint::url, which I trust more than my half-baked, restricted attempt
In reply to Re: getstore problem
by Corion
in thread getstore problem
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |