Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Net::FTP, Глюк с передачей 
:(
    Опции темы
TwiSteR
  Дата 20.6.2005, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кибер красавчег
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 15.6.2005
Где: World->Russia

Репутация: нет
Всего: 2



Здравствуйте уважаемые,

есть некий код
Код

#!/usr/bin/perl
use strict;
use Net::FTP;
my $ftp = Net::FTP->new("my_host", Debug => 0);
$ftp->login("my_login",'***pass***');
$ftp->cwd("/bbs");
$ftp->put("c:/zip.zip","zzz.zip");
$ftp->quit;


Файл zip.zip размером в 19 метров, так вот:
Конект происходит и файл выкладывается но вес его 223 байта и ессесно при открытии не верный формат файла.
Я копать умею, куда ?
--------------------
PM MAIL WWW ICQ   Вверх
korob2001
Дата 20.6.2005, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



Попробуй вместо метода put заюзать write( BUFER, SIZE, [TIMEOUT] ). Извини протестировать не могу.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
TwiSteR
Дата 20.6.2005, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кибер красавчег
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 15.6.2005
Где: World->Russia

Репутация: нет
Всего: 2



Код

$ftp->write("c:/someZip.zip");


так тоже самое smile
--------------------
PM MAIL WWW ICQ   Вверх
Kiber_rat
Дата 21.6.2005, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MACMANIAC
**


Профиль
Группа: Участник
Сообщений: 276
Регистрация: 18.4.2002
Где: Ashdod, Israel

Репутация: 7
Всего: 9



Может стоит попробовать задать
Код
my $ftp = Net::FTP->new("my_host", Debug => 0,Passive=>1);



--------------------
Best regards!                                                             
@..@_____Ku6ep
=*=______\______KPbIC
Код
print join "",map{chr}(split/(\w{2})/,hex(int(2175.57302796298**2)))
PM WWW ICQ Skype Jabber YIM   Вверх
TwiSteR
Дата 21.6.2005, 07:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кибер красавчег
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 15.6.2005
Где: World->Russia

Репутация: нет
Всего: 2



Код

my $ftp = Net::FTP->new("my_host", Debug => 0,Passive=>1);


Неа блин, так тоже не катит

Пробовал на разных тачках на разные серванты, но везде одно и тоже smile
--------------------
PM MAIL WWW ICQ   Вверх
Sadok
Дата 21.6.2005, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 2.11.2004

Репутация: 1
Всего: 2



TwiSteR
Если файл бинарный, то пробовать (смотри строку №7, никак ее не выделить):
Код

#!/usr/bin/perl
use strict;
use Net::FTP;
my $ftp = Net::FTP->new("my_host", Debug => 0);
$ftp->login("my_login",'***pass***');
$ftp->cwd("/bbs");
$ftp->binary();
$ftp->put("c:/zip.zip","zzz.zip");
$ftp->quit;


Для техтового соответственно $ftp->ascii();

Еще я бы chomp () делал для имен файлов, если они из переменной беруться..
PM   Вверх
dimes
Дата 21.6.2005, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 20.7.2004
Где: то около СПБ

Репутация: нет
Всего: 14



TwiSteR
для начала нужно перехватить ошибку
Код

$ftp->put("c:/zip.zip","zzz.zip") or print $ftp->message;

Потом желательно оставить Passive=>1 как предложил Kiber_rat это поможет в будующем
Затем я так понимаю ты передаеш бинарный файл?
Обязательно укажи $ftp->binary; до $ftp->put


Добавлено @ 09:05
Цитата(TwiSteR @ 20.6.2005, 15:18)

$ftp->write("c:/someZip.zip");

так тоже самое

Что то ты не то делал... http://search.cpan.org/~gbarr/libnet-1.19/..._dataconn_CLASS

PM ICQ   Вверх
TwiSteR
Дата 21.6.2005, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кибер красавчег
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 15.6.2005
Где: World->Russia

Репутация: нет
Всего: 2



Sadok, dimes

Огромный 10х

с этим полегчало
Код

$ftp->binary();


Вот ещё вопросик:

Как бы сделать, что-то наподобии gauge в дельфи. Ну я имею ввиду чтобы прогресс передачи выводить на stdout ?
--------------------
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0486 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.