Dear PerlMonks,
I'm having troubles with a CGI to upload images to my site, I've tried lots of ways to solve it... but none worked!
the code i'm using is something like that:
#!/usr/bin/perl
use CGI;
use CGI::Carp 'fatalsToBrowser';
CGI::ReadParse(*in);
my $homeurl = 'http://joao.warp.psi.br';
my $imagedir = '/www/joao/images';
my ($s,$m,$h,$mday,$mon,$year,$w,$y) = gmtime(time);
my $id = $year.$mon.$mday;
# save thumbnail
my $thumb = &FileUpload($in{iddt});
open(MAKETHUMB,">$imagedir/$idt.gif")
or die("Could not save $idt.gif");
print MAKETHUMB $thumb;
close(MAKETHUMB);
# save image 'idd'
my $img = &FileUpload($in{idd});
open(MAKE,">$imagedir/$id.gif")
or die("Could not save $id.gif");
print MAKE $img;
close(MAKE);
# the images are mine!
my @files = glob("$id*.gif");
chown 'joao','fodas',@files;
# upload file (used here to upload images)
sub FileUpload {
my ($formfield) = shift;
my ($filename,$filesize,$filedata);
# load query handle
$query = $in{CGI};
if ($filename = $query->param($formfield)) {
my $tmp = $/;
undef($/);
$filedata = <$filename>;
$filesize = length($filedata);
$/ = $tmp;
}
# find what the trails look like and get the
# true file name without the garbage
if ($filename =~ m/[\\\/\:]/gi) {
$filename =~ s/[\\\/\:]/\//g;
my @tmp = split(/\//,$filename);
$filename = pop(@tmp);
}
return($filedata);
}
well, with this i've got the following:
- the thumbnail file is not created;
- The second image is created but nothing is printed, the image remains with 0k, and is owned by wwwrun;
Because of that, i ask:
why were my images not uploaded?
and why my 'chown' is not working properly?
Can anyone help me? please!
Thank you!!
PS: Oh, and i'm using 'enctype="multipart/formdata"' in my form... and the fields are with the correct names...
#!/jpsama/bin/perl -w
$tks = `mount`;
$jpsama = $! if $!;
print $jpsama;
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.