Суть проблемы: скрипт не работает в Опере (опера выдаёт исходный код страницы), но работает в 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 Проблема решена 
в самом конце надо было написать
| Код |
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 жить просто не может)))) |