Forum Webscript.Ru
Программирование => Perl => Тема начата: alex-and-r от 04 Сентября 2001, 00:32:12
-
Ищу скрипт (желательно CGI), позволяющий встроить в страницу форму, с помощью которой пользователь мог бы отправить на сервер (в определенный каталог) картинку и некоторые сведения (типа описания, мыла и т. д.). Но нужно, чтобы юзверь не указывал УРЛ картики в сети, а именно ЗАГРУЖАЛ ее на сервак со своего компа.
Заранее спасибо... ;)
-
use CGI qw/:standard/;
# Код для HTML-формы
print \\"Content-Type: text/html\\\\n\\\\n\\";
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
-
На лови как раз для тебя:
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
####################
-
my $in=param(\\\'picture\\\');
# выделяем имя файла из параметра
my ($name) = $in =~ m#([^\\\\\\\\/:]+)$#;
open(OUT,\\">$downpath$name\\");
binmode(OUT);
# читаем входной поток и пишем в файл
while (<$in>) {
print OUT $_;
}
close(OUT);
binmode $in;
-
На лови как раз для тебя:
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
####################
А ссылочка не работает ...
Зачем так делать ...
ПЛОХО ЭТО . РОДИНА ВАС НЕ ЗАБУДИТ :)
-
Это хостинг такой. Нельзя загружать файлы с других серверов.
P.S. Просто нажмите на ссылочку в адресной строке еще раз.
-
Всем БАЛЬШОЕ спасибо! :D
Нет, все-таки интернет комьюнити - самое дружественное в мире! ;)
-
Скапируй в браузер... Ссылку и все.. ;)