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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Nikolay Pichtin                      2:5056/30      31 Aug 2001  11:35:02
 To : All
 Subject : Залить каталог
 -------------------------------------------------------------------------------- 
 
 
  Hеобходимо заливать по на сервер целый каталог.
  В форме указываю
 <form enctype="multipart/form-data" method=post action="/cgi-bin/upload.pl">
 
 <input type="text" name="out_dir_numer" value="$dircookie" size=50>
 
  В upload.pl делаю:
 use CGI qw(:standard);
 $query = new CGI;
 
    $out_dir_numer = $query->param('out_dir_numer');
 
  @out_files = <$out_dir_numer/*>;
  s/$out_dir_numer\/// foreach (@out_files);
  @out_files = grep {m{\.([^/.]+)$} && exists $typs{$1} } sort { ($a =~
 /(.*)\.(.*)/)[1] cmp ($b =~ /(.*)\.(.*)/)[1] } @out_files;
 
 # Метка для пропуска файлов, ограниченных по размеру
 S1:
  foreach $infile (@out_files) {
     if ($infile =~ /\//) {
         @array = split(/\//, $infile);
         $real_name = pop(@array);
     } elsif ($infile =~ /\\/) {
         @array = split(/\\/, $infile);
         $real_name = pop(@array);
     } else { $real_name = $infile }
 
     $infile = "$out_dir_numer\\$real_name";
     @suff = split(/\./,$real_name);
 
  @max = stat ($infile);
  if ($max[7] > $maxsize) { $report .= "<br> $file.<br>Его размер $max[7] байт,
 что превышает допустимые $maxsize байт.<br>\n"; next S1;}
  # Читаем файлы номера в каталоге клиента
  if (!open (IN,"<$infile")) {
    $message = "Ошибка чтения файла $infile.<br>\n";
     &PrintError }
  binmode IN if (($suff[1] eq 'gif') or ($suff[1] eq 'jpg')); $i++;
  # Записываем файлы в каталог номера на сервере
  if (!open(OUTFILE, ">$in_dir/$real_name")) {
    $message = "Ошибка записи файла $in_dir/$real_name.<br>\n";
     &PrintError }
      while ($bytesread = read(IN,$buffer,$maxsize)) {
          $totalbytes += $bytesread;
          binmode OUTFILE;
          print OUTFILE $buffer;
      }
  close IN;
  close(OUTFILE);
  } # End foreach
 Локально все работает, а при на сервере не загружает файлы.
 В чем проблема?
 
 P.S. Решение с FTP.pm не предлагать
 
 -- Hиколай.
 * Мудрым пользуйся девизом - будь готов к любым сюрпризам.
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
 ---
  * Origin: Если это глупо, но работает, - значит это не глупо. (2:5056/30)
 
 

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

 Тема:    Автор:    Дата:  
 Залить каталог   Nikolay Pichtin   31 Aug 2001 11:35:02 
 Залить каталог   Denis Poznyakov   31 Aug 2001 16:20:41 
 Залить каталог   Igor Kolesnik   03 Sep 2001 00:24:37 
 Re: Залить каталог   Nikolay Pichtin   04 Sep 2001 10:59:55 
 Re: Залить каталог   Nikolay Pichtin   04 Sep 2001 10:59:21 
Архивное /ru.perl/18133b8f7806.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional