#!/usr/bin/perl # Write Picture # By Brian Prentice # February 1997 $params = ; $size = $ENV{'CONTENT_LENGTH'} - length($params); chop($params); @params = split /;/, $params; $path = "/var/www/html/$params[0]/$params[1]/$params[2]"; $filename = "<" . $path; $header = "<--Picture File-->\n"; open FILE, $filename; read (FILE, $data, length($header)); close FILE; if ($data ne $header) { $message = "Error: Incorrect File Type\n"; print "Content-type: text/plain\n"; print "Content-length: " . length($message) . "\n\n"; print $message; exit(1); } $filename = ">>" . $path; read (STDIN, $data, $size); $| = 1; open FILE, $filename; flock(FILE, 2); printf FILE "%6d", $size; print FILE $data; close FILE; $message = "Ok\n"; print "Content-type: text/plain\n"; print "Content-length: " . length($message) . "\n\n"; print $message; if ($params[3] ne "") { @subnet_numbers = split (/\./, $ENV{'REMOTE_HOST'}); $packed_address = pack ("C4", @subnet_numbers); $remote_host = gethostbyaddr ($packed_address, 2); if ($remote_host eq "") { $remote_host = $ENV{'REMOTE_HOST'}; } open MAIL, "|/usr/sbin/sendmail $params[3]"; print MAIL "From: $remote_host\n"; print MAIL "Subject: New Picture\n\n"; print MAIL "$params[4]\n\n"; } exit(0);