Автор Тема: Помогите с копированием файлов  (Прочитано 2879 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DastElves

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Помогите с копированием файлов
« : 13 Марта 2006, 09:55:15 »
Здравствуйте !
Помогите с проблемой..
Есть форма для закачки файлов, как скопировать файл на сервер ??
Я пробовал писать

use File::Copy;
copy("$file","../$raboty/$p/$kto/".$code."_$unit."."$fil");

$file это имя поля в форме где я выбираю файл.

../$raboty/$p/$kto/".$code."_$unit."."$fil"); сюда он должен копироваться ".$code."_$unit."."$fil" с таким названием :)

Но это не работает, ошибок тоже никаких не появляется !

Оффлайн cr4ck3r

  • Фанат Perl
  • Постоялец
  • ***
  • Сообщений: 146
  • +0/-0
  • 2
    • Просмотр профиля
    • http://perlmonks.org.ru
Помогите с копированием файлов
« Ответ #1 : 13 Марта 2006, 10:48:52 »
Цитировать

Аплоад картинок, также легко становится аплоадом других файлв в бинарном режиме...

Код:
 
#!/usr/bin/perl
use CGI qw/param/;
$upload_dir=\'../../fimg\';
 
if (param(\'action\') eq \'upload\') {
 ($check,$filename,$size)=upload();
 &showform;
} else {
 &showform;
}
 
sub showform {
print "Content-type:text/html;Charset:windows-1251\\n\\n";
print <
 
 

HTML
 
 if (defined $check) {
  print "Успешность операции: $check
\\nИмя файла: $filename
\\nРазмер(ошибка, если операция не успешна): $size\\n";
 }
}
 
sub upload {
 local $buffer;
 local $check=1;
 local $errmes=\'\';
 local $file=param(\'filename\');
 local $filename=$file;
 local $size=0;
 
 $filename=~s/^.*\\\\//igs;
 $filename=~s/\\|//gs;
 if (!$filename) {$errmes="Невозможное имя файла!"; $check=0;}
 if ($filename!~/(\\.jpg)|(\\.gif)|(\\.png)|(\\.bmp)|(\\.tif)|(\\.tiff)/i) {$errmes=\'Неизвестный формат!\'; $check=0;}
 if (-e "$upload_dir/$filename") {$errmes="Файл \'$filename\' уже существует!"; $check=0;}
 if ($check==1) {
  binmode($file);
  open(IF, ">$upload_dir/$filename") or die $!;  
   binmode IF;  
   while (read($file,$buffer,1024)) {print IF $buffer; $size++;}  
  close(IF);
  chmod 0744, "$upload_dir/$filename";
  $size.=\'кб\';
 }
 if ($check==1) {return ($check,$filename,$size);} else {return ($check,$filename,$errmes);}
}
Ворота в perl - perlmonks.org.ru

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28