URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 867
[ Назад ]

Исходное сообщение
"Как из формы загрузить файл на сервер скриптом на Perl"

Отправлено Nick1 , 10-Ноя-02 21:58 
Здравствуйте. Требуется из формы на сервер картинки загружать.
нашёл вот скрипт, да что-то не работает, как не кручусь не хватает
моих познаний чтобы запустить. Может подскажет кто ошибку, если не
лень, или ссылку какую полезную.  Ошибки выделил как коментарии,
а ???? непонятные места.
Заранее благодарен.

#!/usr/bin/perl -w -T
#file_load
$datafile="foto.txt";
$fotodir=".";#??????
######################################################################
print "Content-Type: text/html\n\n;
if($ENV{'REQUEST_METHOD'} eq 'GET'){$query=$ENV{'QUERY_STRING'};}
elsif($ENV{'REQUEST_METHOD'} eq 'POST')
{sysread(STDIN,$query,$ENV{'CONTENT_LENGTH'});}
######################################################################

if($query eq ' ')
{
#forma
}
else
{
      if($ENV{'CONTENT_TYPE'} =~/multipart/)
      {
      ($bound)=($ENV{'CONTENT_TYPE'} =~/boundary=(\S+)/);
      @parts=split(/\n--$bound(-)*/,$query);
      @parts=grep($_ ne ' ' ,@parts);
            foreach(@parts)
            {
               ($header,$body)=split(/\n\s*\n/,$_,2);
               ($name)=(/name=\"([^\"]*)\"/);
               $body=~ s/\n$//;
               $body=~ s/\r$//;
               ($filename)=(/filename=\"([^\"]*)\"/);
               if($name eq 'username'){$username=$body;}
               if($name eq 'usercity'){$usercity=$body;}
               if($name eq 'usercomment'){$usermessage=$body;}
               if($name eq 'userphoto'){$userphoto=$body;$userphotofilename=$filename;}
           }
       }
      
                else #????????
                    {
               $userphotofilename1=$userphotofilename;
                 $filedup=0;
                       while(-e "$fotodir/$userphotofilename1")#error: syntax error, scalar found where operator expected
                     {
                      $userphotofilename1="$filedup_$userphotofilename";#error: scalar found where operator expected
                       $filedup++;
                         }
                   open(F,">$fotodir/$userphotofilename1")|| print_err("Cannot open log: $! ");#error: string,bareword found where operator expected
                   print F $userphoto;
                   close(F);
                   #############################################################################
                     open(DATA,">>$datafile");#error: string found where operator expected
                     print DATA "$username";#error: string found where operator expected
                   print DATA "$usercity";#error: string found where operator expected
                     print DATA "$userphotofilename1";#error: string found where operator expected
                     print DATA "$usercomment";#error: scalar, string found where operator expected
                     close(DATA);
               }
  }
  
  


Содержание

Сообщения в этом обсуждении
"RE: Как из формы загрузить файл на сервер скриптом на Perl"
Отправлено Nick1 , 10-Ноя-02 22:24 
Нашёл тут в FAQ скрипт похожий, извините, не посмотрел сразу.