|
|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/18133b8f7806.html, оценка из 5, голосов 10
|