Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Программирование > Perl

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 10.01.2002, 07:46
Xel'[Naga] вне форума Посмотреть профиль Отправить личное сообщение для Xel'[Naga] Посетить домашнюю страницу Xel'[Naga] Найти все сообщения от Xel'[Naga]
  № 1  
Xel'[Naga]
 
Аватар для Xel'[Naga]

Регистрация: May 2001
Адрес: Зеленогорск
Сообщений: 47
По умолчанию Upload file

Помогите написать скрипт для загрузки файлов пользователей на сервер.
__________________
С вами был -=Xel'[Naga]

Старый 10.01.2002, 08:53
Хрюндик вне форума Посмотреть профиль Отправить личное сообщение для Хрюндик Посетить домашнюю страницу Хрюндик Найти все сообщения от Хрюндик
  № 2  
Хрюндик
 
Аватар для Хрюндик

Регистрация: Sep 2000
Сообщений: 326
Отправить сообщение для Хрюндик с помощью ICQ
По умолчанию Написать или дать?

subj
Если написать - то поможем, а если дать - то поишите где нибудь, например на cgi.ru
__________________
Флэш - это искусство(читай издевательство)

Старый 10.01.2002, 09:48
Xel'[Naga] вне форума Посмотреть профиль Отправить личное сообщение для Xel'[Naga] Посетить домашнюю страницу Xel'[Naga] Найти все сообщения от Xel'[Naga]
  № 3  
Xel'[Naga]
 
Аватар для Xel'[Naga]

Регистрация: May 2001
Адрес: Зеленогорск
Сообщений: 47
Мне надо помочь написать.
Вот допусти скрипту посылаются данные:
filename=c:\1\1.zip

Т.е. путь к файлу. Как мне в перле сохранить файл 1.zip по адресу ftp://127.0.0.1/recycled/1.zip?

И как определить ИМЯ ФАЙЛА, а не путь к файлу?
__________________
С вами был -=Xel'[Naga]

Старый 10.01.2002, 13:23
Хрюндик вне форума Посмотреть профиль Отправить личное сообщение для Хрюндик Посетить домашнюю страницу Хрюндик Найти все сообщения от Хрюндик
  № 4  
Хрюндик
 
Аватар для Хрюндик

Регистрация: Sep 2000
Сообщений: 326
Отправить сообщение для Хрюндик с помощью ICQ
блин, подумать надо, никогда аплоудом не занимался

можно выживить имя файла из пути с помощью регулярных выражений

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

например, имя закачиваемого файла some.txt
пользователь хочет чтобы этобыл some.html
очень удобно и просто
__________________
Флэш - это искусство(читай издевательство)


Последний раз редактировалось Хрюндик; 10.01.2002 в 13:29.
Старый 10.01.2002, 17:09
Alexey A. Popov вне форума Посмотреть профиль Отправить личное сообщение для Alexey A. Popov Найти все сообщения от Alexey A. Popov
  № 5  
Alexey A. Popov

Регистрация: Nov 2001
Сообщений: 17
Отправить сообщение для Alexey A. Popov с помощью ICQ
извини- плохо знаю Перл (как-то все больше РНР) поэтому могу помочь только со сылками тут почти все о перле - книги Орейли

но я думаю, в Перле есть что-то наподобие $file_type и $file_name, который выдают имя и тип файла...
__________________
С уважением,
Алексей

Старый 11.01.2002, 04:30
Fouly вне форума Посмотреть профиль Отправить личное сообщение для Fouly Найти все сообщения от Fouly
  № 6  
Fouly

Регистрация: Dec 1999
Сообщений: 258
Ну вот ты получил файл:
$bin = $query->param('bin');

в $bin содержится имя файла (вместе с путем к нему на локальной машине, в зависимости от броузера).
и одновременно $bin является дескриптором загружаемого файла.
Вытащить имя файла из пути можно так
@file = split /\\|\//,$bin;

в последней ячейке масива @file содержится имя файла
т.е. $filename = $file[$#file]

теперь определяешь куда скачивать файл
$upload = "/path/to/folder/$filename";

и пишешь туда файл:

open OUTFILE, ">$upload" || die "Can't upload $upload";
binmode OUTFILE;
while ($bytesread=read($bin,$buffer,1024)) {
print OUTFILE $buffer
}
close OUTFILE;

Пишу на память, так что могу ошибиться.


Последний раз редактировалось Fouly; 11.01.2002 в 04:34.
Старый 11.01.2002, 09:07
Xel'[Naga] вне форума Посмотреть профиль Отправить личное сообщение для Xel'[Naga] Посетить домашнюю страницу Xel'[Naga] Найти все сообщения от Xel'[Naga]
  № 7  
Xel'[Naga]
 
Аватар для Xel'[Naga]

Регистрация: May 2001
Адрес: Зеленогорск
Сообщений: 47
$host="http://127.0.0.1";
...
if ($ENV{'REQUEST_METHOD'} eq "POST")
{
read(STDIN, $bufer, $ENV{'CONTENT_LENGTH'});
}
else
{
$bufer=$ENV{'QUERY_STRING'};
}
#End -------------------------
@pairs = split(/&/, $bufer);
foreach $pair (@pairs)
{ ($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$param{$name} = $value;
}
...
$filename=$param{file};
...
@file = split /\\|\//,$filename;
$fname = $file[$#file];
$upload="$host/recycled/$fname";
open OUTFILE, ">$upload" || die "Can't upload $upload";
binmode OUTFILE;
while ($bytesread=read($filename,$buffer,1024)) {
print OUTFILE $buffer;
}
close OUTFILE;
...

Нифига не получается. Файл не загружается и ошибки нет.
Что тут не правильно?
__________________
С вами был -=Xel'[Naga]


Последний раз редактировалось Xel'[Naga]; 11.01.2002 в 09:09.
Старый 11.01.2002, 11:41
SPV вне форума Посмотреть профиль Отправить личное сообщение для SPV Найти все сообщения от SPV
  № 8  
SPV
 
Аватар для SPV

Регистрация: Jan 2000
Адрес: St-Petersburg
Сообщений: 1,229
Отправить сообщение для SPV с помощью ICQ
1. Вот это:
if ($ENV{'REQUEST_METHOD'} eq "POST")
{
read(STDIN, $bufer, $ENV{'CONTENT_LENGTH'});
}
else
{
$bufer=$ENV{'QUERY_STRING'};
}
#End -------------------------
@pairs = split(/&/, $bufer);
foreach $pair (@pairs)
{ ($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$param{$name} = $value;
}
сотри нафиг и поставь вместо только
use CGI;

2. $upload="http://127.0.0.1/recycled/$fname";
Где ты видел, чтобы по протоколу http открывались файлы на запись??? Путь должен быть для файловой системы и относительно скрипта:
$upload="/recycled/$fname";
$upload="c:/recycled/$fname";
$upload="../../recycled/$fname";
и т.п.

3. Для того, чтобы браузер отправил на сервер сам файл, а не только его имя, нужно в форме с <input type="file" ...> обязательно вставить:
<form ... enctype="multipart/form-data">
__________________
Two beer or not two beer?...

Старый 11.01.2002, 12:34
Xel'[Naga] вне форума Посмотреть профиль Отправить личное сообщение для Xel'[Naga] Посетить домашнюю страницу Xel'[Naga] Найти все сообщения от Xel'[Naga]
  № 9  
Xel'[Naga]
 
Аватар для Xel'[Naga]

Регистрация: May 2001
Адрес: Зеленогорск
Сообщений: 47
Теперь появилась другая проблема.;[
Файл создается, но вот внутри у него пусто. Т.е. вешает он 0 байт.
Помогите плз.
__________________
С вами был -=Xel'[Naga]

Старый 11.01.2002, 19:49
Хрюндик вне форума Посмотреть профиль Отправить личное сообщение для Хрюндик Посетить домашнюю страницу Хрюндик Найти все сообщения от Хрюндик
  № 10  
Хрюндик
 
Аватар для Хрюндик

Регистрация: Sep 2000
Сообщений: 326
Отправить сообщение для Хрюндик с помощью ICQ
Надо сделать переключение на binary, если в виндовсе тестишь...
binmode $варибла с файлом
__________________
Флэш - это искусство(читай издевательство)

Создать новую тему   Часовой пояс GMT +4, время: 18:32.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 18:32.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.