Автор: ATS2000
Дата сообщения: 06.05.2007 11:41
Камрады, прошу помочь если не сложно.
Задача следующая:
Имеется хост, с которого по протоколу HTTP нужно периодически выкачивать только новые или изменённые файлы c именами вида baseMMDD.rar, где MM-месяц, DD-число. Но вся проблема в том, что каждый раз скачиваются все подряд файлы, потому что хост не умеет отдавать дату последнего изменения файлов и присваивает им текущую дату.
Но в то же время в файл FOLDER1.TXT напротив каждого файла пишется дата и время его последнего изменения и размер.
Вот что пишется в FOLDER1.TXT
[more]
<img src="/images2/folder_open.gif" alt='root dir'> Folder1/<table border=0><tr align="center"><td></td><td>Наименование</td><td> </td><td>Дата/время</td><td> </td><td>Размер</td></tr><tr align="left"><td colspan="6"><hr></td></tr><td width=30><img src="/images2/file.gif" alt="[FILE]"></td><td><a href='auth.php?item=Folder1/base0428.RAR'>base0428.RAR</a></td><td> - </td><td>28-04-2007 09:33:22</td><td> - </td><td>1,61 Мбайт</td></tr><td width=30><img src="/images2/file.gif" alt="[FILE]"></td><td><a href='auth.php?item=Folder1/base0423.RAR'>base0423.RAR</a></td><td> - </td><td>23-04-2007 09:55:08</td><td> - </td><td>1,71 Мбайт</td></tr><td width=30><img src="/images2/file.gif" alt="[FILE]"></td><td><a href='auth.php?item=Folder1/base0416.RAR'>base0416.RAR</a></td><td> - </td><td>16-04-2007 09:42:47</td><td> - </td><td>1,50 Мбайт</td></tr><td width=30><img src="/images2/file.gif" alt="[FILE]"></td><td><a href='auth.php?item=Folder1/base0409.RAR'>base0409.RAR</a></td><td> - </td><td>09-04-2007 09:43:05</td><td> - </td><td>852,07 Кбайт</td></tr><td width=30><img src="/images2/file.gif" alt="[FILE]"></td><td><a href='auth.php?item=Folder1/base0402.RAR'>base0402.RAR</a></td><td> - </td><td>02-04-2007 09:36:38</td><td> - </td><td>987,13 Кбайт</td></tr><td width=30><img src="/images2/file.gif" alt="[FILE]"></td><td><a href='auth.php?item=Folder1/base0326.RAR'>base0326.RAR</a></td><td> - </td><td>26-03-2007 10:07:41</td><td> - </td><td>1,16 Мбайт</td></tr><td width=30><img src="/images2/file.gif" alt="[FILE]"></td><td><a href='auth.php?item=Folder1/base0319.RAR'>base0319.RAR</a></td><td> - </td><td>19-03-2007 09:48:29</td><td> - </td><td>1,20 Мбайт</td></tr><td width=30><img src="/images2/file.gif" alt="[FILE]"></td><td><a href='auth.php?item=Folder1/base0312.RAR'>base0312.RAR</a></td><td> - </td><td>12-03-2007 09:42:46</td><td> - </td><td>1,38 Мбайт</td></tr><td width=30><img src="/images2/file.gif" alt="[FILE]"></td><td><a href='auth.php?item=Folder1/base0305.RAR'>base0305.RAR</a></td><td> - </td><td>05-03-2007 09:48:48</td><td> - </td><td>1,28 Мбайт</td></tr><tr align="left"><td colspan="6"><hr></td></tr></table>[/more]
Выход вижу в том чтобы каждый раз разбирать файл FOLDER1.TXT, "вытаскивая" из него дату, время последнего изменения и размер , которые там приписываются каждому файлу, затем проверять, существует ли такой файл и если существует то сравнивать эту дату/время и размер с теми же параметрами существующего файла. И таким образом записать в некоторый файл ссылки на новые файлы и предоставить качалке. Ещё одним выходом, может быть более простым, будет сравнение имён существующих файлов на диске и находящихся на хосте и выкачивать только несуществующие на диске.