Forum Webscript.Ru

Программирование => Perl => Тема начата: alex-and-r от 04 Сентября 2001, 00:32:12

Название: Ищу скриптец загрузки картинок на сервер...
Отправлено: alex-and-r от 04 Сентября 2001, 00:32:12
Ищу скрипт (желательно CGI), позволяющий встроить в страницу форму, с помощью которой пользователь мог бы отправить на сервер (в определенный каталог) картинку и некоторые сведения (типа описания, мыла и т. д.). Но нужно, чтобы юзверь не указывал УРЛ картики в сети, а именно ЗАГРУЖАЛ ее на сервак со своего компа.

Заранее спасибо... ;)
Название: Ищу скриптец загрузки картинок на сервер...
Отправлено: MyCom от 04 Сентября 2001, 00:54:44
use CGI qw/:standard/;

# Код для HTML-формы
print \\"Content-Type: text/html\\\\n\\\\n\\";
print \\"
\\";
print \\"\\";
print \\"\\";
print \\"
\\";

#end of print form

insert_image() if (param());

sub insert_image {
  # путь к директории для закачки директория
  # должна иметь право на запись для
  # пользователя, под которым работает веб-сервер
  my $downpath = \\"tmp/\\";

  my $in=param(\\\'picture\\\');

  # выделяем имя файла из параметра
  my ($name) = $in =~ m#([^\\\\\\\\/:]+)$#;

  open(OUT,\\">$downpath$name\\");
  binmode(OUT);
  # читаем входной поток и пишем в файл
  while (<$in>) {
    print OUT $_;
  }
  close(OUT);

  # выводим надпись о закачке файла <$name>
  print \\"Upload file: $name\\";
}

Замечание:
Часто возникает проблема: \\"При закачке картинок 00 меняется на 20(пробел), соответственно картинка не смотрится...\\"

Это следствие перекодирования http-сервером принимаемых данных.
Если у Вас русский Apache, то эта проблема \\"лечится\\" выставлением директивы:
  CharsetRecodeMultipartForms off

Название: Ищу скриптец загрузки картинок на сервер...
Отправлено: от 04 Сентября 2001, 01:18:39
На лови как раз для тебя:
http://morpheus.bip.ru/zip/Arcadia281.zip
Вот тут можно посмотреть:
http://sportimages.al.ru/cgi-bin/photo/gallery.cgi

##################
# С уважением AndyAN ;)
# e-mail:andyan@rambler.ru
# pages: http://sportimages.al.ru
####################
Название: Ищу скриптец загрузки картинок на сервер...
Отправлено: Chs от 04 Сентября 2001, 07:35:41
Цитировать


  my $in=param(\\\'picture\\\');

  # выделяем имя файла из параметра
  my ($name) = $in =~ m#([^\\\\\\\\/:]+)$#;

  open(OUT,\\">$downpath$name\\");
  binmode(OUT);
  # читаем входной поток и пишем в файл
  while (<$in>) {
    print OUT $_;
  }
  close(OUT);

 

binmode $in;
Название: Ищу скриптец загрузки картинок на сервер...
Отправлено: от 04 Сентября 2001, 16:22:42
Цитировать
На лови как раз для тебя:
http://morpheus.bip.ru/zip/Arcadia281.zip
Вот тут можно посмотреть:
http://sportimages.al.ru/cgi-bin/photo/gallery.cgi

##################
# С уважением AndyAN ;)
# e-mail:andyan@rambler.ru
# pages: http://sportimages.al.ru
####################


А ссылочка не работает ...
Зачем так делать ...
ПЛОХО ЭТО . РОДИНА ВАС НЕ ЗАБУДИТ :)
Название: Ищу скриптец загрузки картинок на сервер...
Отправлено: MyCom от 04 Сентября 2001, 17:41:40
Это хостинг такой. Нельзя загружать файлы с других серверов.

P.S. Просто нажмите на ссылочку в адресной строке еще раз.
Название: Ищу скриптец загрузки картинок на сервер...
Отправлено: alex-and-r от 04 Сентября 2001, 22:15:26
Всем БАЛЬШОЕ спасибо! :D
Нет, все-таки интернет комьюнити - самое дружественное в мире! ;)
Название: Ищу скриптец загрузки картинок на сервер...
Отправлено: AndyAN от 05 Сентября 2001, 01:46:56
Скапируй в браузер... Ссылку и все.. ;)