Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > В IE работает, а в Опере нет.


Автор: dima111 3.5.2007, 20:20
Суть проблемы: скрипт не работает в Опере (опера выдаёт исходный код страницы), но работает в Internet Explorer.

скрипт: 
Код

#!/usr/bin/perl

$savedir = "/home/user_name/public_html/upload";

if($ENV{REQUEST_METHOD} eq "POST")
  {
  binmode STDIN;
  $size = $ENV{CONTENT_LENGTH};
  $bytesread = 0;
  while($bytesread < $size)
    {
    $blen = read STDIN, $buffer, 4096, $bytesread;
    $bytesread += $blen;
    }

  print "Content-Type: text/html\n\n";
  $buf = substr($buffer, 0, 255);
  $buf=~/filename="(.*)"/;
  $filename = $1;
  $filename =~s|(.*)\\(.*)|\2|;

  while($c<4){$buffer=~s/(.*)\x0D\x0A//; $c++};
  $buffer=~s/(-*)(\w*)--(.*)$//;

  open (OUT, ">$savedir/$filename");
  binmode OUT;
  print OUT $buffer;
  close OUT;
  print "<HTML><BODY> <H1> Файл $filename сохранён в $savedir/ </H1> </BODY> </HTML>";
  }
else
  {
  print qq{
  <HTML> <BODY>
  <FORM ACTION="$ENV{SCRIPT_NAME}" ENCTYPE="multipart/form-data" method="POST">
  FROM:<INPUT TYPE=file name="file upload">
  <INPUT TYPE=submit value="send">
  </FORM> </BODY> </HTML> };
  }


в чём может быть проблема?

Добавлено @ 20:30
Проблема решена smile

в самом конце надо было написать 

Код



  print qq{Content-Type: text/html\n\n
  <HTML> <BODY>
  <FORM ACTION="$ENV{SCRIPT_NAME}" ENCTYPE="multipart/form-data" method="POST">
  FROM:<INPUT TYPE=file name="file upload">
  <INPUT TYPE=submit value="send">
  </FORM> </BODY> </HTML> };
  }




оказывается опера без Content-Type: text/html\n\n жить просто не может))))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)