![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Гость_finder |
|
|||
|
Unregistered |
Необходимо обеспечить ежедневное обновление некой программы с ftp сервера,
проблема заключается в следующем: use Net::FTP; ... $ftp->get('somefile','somefile') || die " Cannot copy somefile", $ftp->message; копирует файл, но меняет время последненго изменения файла на момент копирования, программа оказалась чувствительна к этому и не хочет работать (если копировать вручную с помощью FAR все замечательно, время изменения остается тем же какое было на ftp), есть ли какое-либо решение этой проблемы средствами Perl? |
|||
|
||||
| Kiber_rat |
|
||||
![]() MACMANIAC ![]() ![]() Профиль Группа: Участник Сообщений: 276 Регистрация: 18.4.2002 Где: Ashdod, Israel Репутация: 7 Всего: 9 |
Запомни время модификации файла на сервере в какую-нибудь переменную, а потом установи его на локальном файле после загрузки...
-------------------- Best regards! @..@_____Ku6ep =*=______\______KPbIC
|
||||
|
|||||
| Гость_finder |
|
|||
|
Unregistered |
Kiber_rat
к сожалению, сервер не поддерживает функцию mdtm, она возвращает время с произвольным смещением и тест: print "Ok\n" if ($ftp->supported('mtdm')); не проходит |
|||
|
||||
| Kiber_rat |
|
|||
![]() MACMANIAC ![]() ![]() Профиль Группа: Участник Сообщений: 276 Регистрация: 18.4.2002 Где: Ashdod, Israel Репутация: 7 Всего: 9 |
А ты коннектишься в active или passive режиме? Попробуй с этим поиграться...
-------------------- Best regards! @..@_____Ku6ep =*=______\______KPbIC
|
|||
|
||||
| Гость_finder |
|
|||
|
Unregistered |
Kiber_rat
С запуском программы проблема решена, забыл указать: $ftp->binary; а вот насчет времени последнего изменения файлов пока ничего не получается, пробовал и в active или passive режимах, приходится закачивать все подряд и принудительно обновлять каждый день, вне зависимости от переодичности обновления исходника |
|||
|
||||
| sharq |
|
||||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 23 Всего: 28 |
А причем здесь это? Такой команды нет! mtdm - это метод модуля Net::FTP v. 2.75
Тебе фактически нужна функция timegm, хотя используй лучше метод! -------------------- [color=gray]There's More Than One Way To Do It[/color] |
||||
|
|||||
| finderknowledge |
|
||||||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 29.11.2005 Репутация: нет Всего: нет |
sharq
Такая команда имеется в Net::FTP:
только я ошибся в аргументах, правильно так:
тогда тест проходит,
http://www.nsftools.com/tips/RawFTP.htm В модуле Net::FTP за вызов этой команды отвечает функция:
проблема заключается в том, что она возвращает не совсем верные данные, или я, может быть чего-то не понимаю: проверяю файл file.exe, время последнего изменения 11.10.2004 0:00
выдает 20041011115650, т.е. 11.10.2004 11:56, разница почти в 12 часов следующий файл file.xls. время последнего изменения 09.11.2005 7:13
выдает 20051109071321, т.е. верное, в чем может быть причина такого разнобоя? Модератор: Используй кнопочку код для вставки листинга кода. Будет легче читаться. Это сообщение отредактировал(а) sharq - 29.11.2005, 15:13 |
||||||||||||||
|
|||||||||||||||
| sharq |
|
||||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 23 Всего: 28 |
именно про это я тебе говорил. Молодец, что тоже порылся в исходнике.
проверь еще, поэкспериментируй. -------------------- [color=gray]There's More Than One Way To Do It[/color] |
||||
|
|||||
| Kiber_rat |
|
|||
![]() MACMANIAC ![]() ![]() Профиль Группа: Участник Сообщений: 276 Регистрация: 18.4.2002 Где: Ashdod, Israel Репутация: 7 Всего: 9 |
Этод метод возвращает дату последней модификации файла, а то что ты смотришь это тоже дата модификации или дата создания?
-------------------- Best regards! @..@_____Ku6ep =*=______\______KPbIC
|
|||
|
||||
| finderknowledge |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 29.11.2005 Репутация: нет Всего: нет |
Kiber_rat
Дата модификации, если верить Far и Explorer |
|||
|
||||
| Sadok |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 2.11.2004 Репутация: 1 Всего: 2 |
Гость_finder
ну используй wget. он есть под все платформы. все придумано до нас |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |