Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Michael Kichanov                     2:5020/400     27 Apr 2002  13:33:19
 To : All
 Subject : upload
 -------------------------------------------------------------------------------- 
 
 Hi All!
 
 подскажите плиз хинт куда смотреть.
 при закачке файлов скриптом бинарные файлы криво передаются
 сервак апач на фрюхе (т.е. binmode не должен влиять)
 
 - ---html
 
 <FORM Method=Post Action="/cgi-bin/fi.pl" enctype="multipart/form-data">
 
 <INPUT Type=File Name="File">
 <INPUT Type=Submit>
 </FORM>
 
 - ---script
 #!/usr/local/bin/perl
 
 print "Content-type: text/html\n\n";
 
 $type = $ENV{'CONTENT_TYPE'};
 $len = $ENV{'CONTENT_LENGTH'};
 $path = '/tmp/';
 
 #  --- получить boundary
 ($temp, $b) = split(/=/,$type);
 $startboundary = '--'.$b;
 $endboundary = '--'.$b.'--';
 
 #               --- ищем boundary
 while (!($temp =~ /$startboundary/g)) {
         $temp = <>;
         $len -= length $temp;
 }
 
 #  --- получить имя файла
 $temp = <>;
 if ($temp =~ /filename=""/gi) {
  print <<ETX;
  <font color=red><b>Отсутствует файл для пеpедачи.</b></font><br>
  Пpовеpьте пpавильность введенных данных<hr>
 ETX
 exit;
 }
 
 $len -= length $temp;
 @dim = split(/\\/,$temp); $i=@dim;
 $name = $dim[$i-1]; $name =~ s/"//g;
 $filen = $path.$name;
 
 #  --- skip empty line
 $temp = <>; $len -= length $temp;
 
 $len -= length $endboundary;
 $len -= 4;
 binmode STDIN;
 open (F, ">$filen");
 binmode(F);
  read STDIN, $buf, $len;
  print F $buf;
 close (F);
 
 print "<font color=red><b>Пеpедача успешно завеpшена.</font></b><br>
  Записано $len байт.<hr>";
 
 thanx in advance,
 mike
 --- ifmail v.2.15dev5
  * Origin: Internet-Arkhangelsk Company (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 upload   Michael Kichanov   27 Apr 2002 13:33:19 
 Re: upload   Artem Chuprina   27 Apr 2002 13:55:47 
 Re: upload   Michael Kichanov   27 Apr 2002 16:43:06 
 Re: upload   Vladimir Podgorny   29 Apr 2002 10:27:07 
Архивное /ru.cgi.perl/8926e9c15a43.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional