Автор Тема: Выбор актуальной версии файла  (Прочитано 2996 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Evgeny

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 272
  • +0/-0
  • 0
    • Просмотр профиля
Выбор актуальной версии файла
« : 10 Октября 2002, 19:47:13 »
Привет всем!
Есть следующая проблема: файлы копируются с фтп-сервера ежедневно и только в том случае, если дата их последней модификации позднее, чем локальные файлы.
Фция $ftp->mdtm($file) не работает (понятия не имею почему), вырезаю дату модификации из $ftp->dir($file) (год правда не выдаётся, но не беда).
Но проблема в том, что при копировании файлов, $ftp->get($file) дата модификации устанавливается равной текущей дате, а не той, что на сервере, поэтому в следующий раз я не могу сравнить на равенство даты модификации обоих файлов.
Можно ли заставить объект ftp делать это (перенос даты модификации файла) принудительно, и если да, то как?
Или нужно потом потом самому атрибуты файла изменять, в соответствие с тем, что я dir-ом считал? А как можно изменить дату последней модификации файла?
Огромное спасибо.

Оффлайн Serchey

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 216
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.rivne.ukrtelecom.ua
Выбор актуальной версии файла
« Ответ #1 : 11 Октября 2002, 00:40:15 »
Боюсь, что заставить ФТП ставить старую дату не удастся. Зато можно попробовать самому:

utime($readtime,$writetime,$filepath);

При этом ты, разумеется, должен иметь право на запись. Как добыть дату? Используй стандартный модуль Time::Local :

use Time::Local;
$time = timelocal($sec,$min,$hour,$dd,$mm,$yy);

, где
$yy = год-1900;
$mm--;

, а под Виндой не забудь установить $sec,$min,$hour равными нулю: файловая система не учитывает времини суток.
Ну вот и все, собственно. С Богом!

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Выбор актуальной версии файла
« Ответ #2 : 11 Октября 2002, 11:33:56 »
Цитировать
а под Виндой не забудь установить $sec,$min,$hour равными нулю: файловая система не учитывает времини суток.

Неправда ;) Учитывает.
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн Evgeny

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 272
  • +0/-0
  • 0
    • Просмотр профиля
Выбор актуальной версии файла
« Ответ #3 : 11 Октября 2002, 11:49:19 »
Serchey
Цитировать
...
Ну вот и все, собственно

Спасибо!

Оффлайн Serchey

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 216
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.rivne.ukrtelecom.ua
Выбор актуальной версии файла
« Ответ #4 : 11 Октября 2002, 13:40:49 »
mike,наверное ты прав - это Юникс, нехароший, не учитывает... :)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28