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


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Dmitry Alexandrow                    2:5030/1419.1419 04 Feb 2005  02:36:19
 To : Dmitry Kuzmin
 Subject : upload
 -------------------------------------------------------------------------------- 
 
 
 04 февраля 2005 года (а было тогда 00:35)
 Dmitry Kuzmin в своем письме к Evgeni Kubachev писал:
 
  >>  Отправляю через форму имя файла, который необходимо закачать на
  >> сервер в папку upload. СGI-скрипт получает имя файла. Как
  >> реализовать закачку этого файла в нужную папку на сервере?
  DK> Показалбы код как ты это делаешь...  ;)
  DK> Можно ревлизовать следующим образом:
  DK> форма -
  DK> <form action="/cgi-bin/upload.cgi" method="post"
  DK> enctype="multipart/form-data" name="Uploader" id="ImageUploader">
  DK>      <input name="file" type="file" id="filefield">
  DK>      <input type="submit" name="Send" value="Отправить">
  DK> </form>
 
  DK> в upload.cgi -
  DK> #Для простоты доступа к параметрам
  DK> use CGI qw(param);
  DK> #получаем параметр file
  DK> my $file = param('file');
  DK> # в скалярном контексте - это имя файла, но реално
  DK> # это дескриптор переданного файла.
  DK> # записываем переданный файл на диск
  DK> open(NEW_FILE, ">upload/new_file.123") || die '...';
  DK> print NEW_FILE while (<$file>);
  DK> ...
  DK> пожалуй так...
 
 у меня так
 не помню насколько работоспособно
 3 года назад делалось
 
 upload.cgi
 === Цитирую файл Windows Clipboard ===
 main:
 #!/usr/bin/perl
 use strict;
 use CGI qw(:standard);
 use CGI::Carp qw(fatalsToBrowser);
 use File::Basename;
 my $file_name = &CGI::param('filename');
 my $file = get_file ($file_name);
 save_file ();
 
 #--sub---
 
 sub get_file {
   if ($ENV{'HTTP_USER_AGENT'} =~ /win/i) { fileparse_set_fstype ("MSDOS"); };
   if ($ENV{'HTTP_USER_AGENT'} =~ /mac/i) { fileparse_set_fstype ("MacOS"); };
   my $full_name = shift;
   $full_name = basename ($full_name);
   $full_name =~ s/\s/\_/g;
   return ($full_name);
 };
 
 sub save_file {
   my $fsize;
   open (AAA, ">".$save_path."/".$file);
   while (<$file_name>) {
     print AAA;
     $fsize += length;
   };
   close (AAA);
 };
 === Конец цитаты ===
 С уважением, Dmitry                           04 февраля 2005 года
 
 ... Hет на Земле бога кроме AMD, и Сандерс пророк его.
 --- WinAmp >> "No Angels - There Must Be An Angel"
  * Origin:  (2:5030/1419.1419)
 
 

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

 Тема:    Автор:    Дата:  
 upload   Evgeni Kubachev   03 Feb 2005 00:55:13 
 Re: upload   Konstantin Tokar   03 Feb 2005 10:49:01 
 Re: upload   Artem Chuprina   03 Feb 2005 11:04:15 
 upload   Evgeni Kubachev   03 Feb 2005 12:31:20 
 Re: upload   Artem Chuprina   03 Feb 2005 17:44:32 
 Re: upload   Dmitry Kuzmin   04 Feb 2005 01:35:56 
 Re: upload   Konstantin Tokar   04 Feb 2005 02:07:20 
 upload   Dmitry Alexandrow   04 Feb 2005 02:36:19 
 upload   Evgeni Kubachev   19 Feb 2005 14:04:15 
 upload   Dmitry Alexandrow   19 Feb 2005 21:31:52 
 Re: upload   Artem Chuprina   20 Feb 2005 23:38:37 
 upload   Evgeni Kubachev   21 Feb 2005 09:34:51 
 Re: upload   Sergey Gernichenko   21 Feb 2005 12:40:24 
 upload   Evgeni Kubachev   21 Feb 2005 15:16:42 
 Re: upload   Sergey Gernichenko   22 Feb 2005 10:58:48 
 Re: upload   Artem Chuprina   21 Feb 2005 14:56:31 
 upload   Evgeni Kubachev   21 Feb 2005 20:33:00 
 Re: upload   Konstantin Tokar   21 Feb 2005 22:14:40 
 upload   Evgeni Kubachev   22 Feb 2005 16:06:00 
Архивное /ru.cgi.perl/61154202d3f8.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional