![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| AttentiONlll |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 17.12.2008 Репутация: нет Всего: нет |
Добрый день! Помогите мне кто чем сможет, пожалуйста!
Имеется php-скрипт, который выводит содержимое всех каталогов на ftp, а также дату последней модификации файлов и каталогов. Нужно отследить в какой строчке файла произошло изменение (вывести номер строки в файле). Подскажите, пожалуйста, как это можно реализовать? Желательно, на примере. Вот мой код:
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 8 Всего: 260 |
есть такая утилита - diff.
а есть расширение xdiff. в любом случае, надо сохранять предыдущую версию файла для сравнения. |
|||
|
||||
| AttentiONlll |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 17.12.2008 Репутация: нет Всего: нет |
skyboy, спасибо!
содержимое файла, дату последней модификации, путь к файлу или каталогу решила хранить в БД (MySQL)
Не совсем понимаю, как с помощью этой утилиты сравнить эти файлы именно построчно. Я совсем недавно столкнулась с php, помогите, пожалуйста, если сможете! |
||||
|
|||||
| skyboy |
|
||||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 8 Всего: 260 |
а вот тут тебе лучше уточнить. к примеру, файл 1:
и файл 2:
нормальный режим diff - определить, что в файле 2 просто добавлена одна новая строка. но если сравнивать файлы последовательно по строкам, то выходит, что файлы полностью различаются(в каждой позиции строка разная). тебе какой алгоритм сравнения нужен? diff/xdiff реализует первый вариант(ищется "возможность" превратить первый файл во второй минимумом действий). для реализации построчного сравнения двух файлов не нужен никакой xdiff - операция чтения из файла и цикл по считанным строкам. так что тебе лучше уточнить, пока мы не ушли "не туда" |
||||
|
|||||
| AttentiONlll |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 17.12.2008 Репутация: нет Всего: нет |
skyboy,
Нужно определить, что просто добавили строку (или изменили ее содержимое) Например:
Результат: изменена первая строка. |
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 2 Всего: 315 |
а где-то хранится полная копия файла, чтобы определить, что произошло изменение именно там-то?
|
|||
|
||||
| AttentiONlll |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 17.12.2008 Репутация: нет Всего: нет |
bars80080, Да, храню в БД, в третьем сообщении темы есть
|
|||
|
||||
| AttentiONlll |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 17.12.2008 Репутация: нет Всего: нет |
Вопрос еще актуален. Помогите разобраться, пожалуйста!
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 8 Всего: 260 |
AttentiONlll, что у тебя не получается?
ты читал описание? ты пробовал? в чем именно "разобраться"? или же надо разобраться за тебя, написать тебе описание, привести примеры именно здесь на форуме, потому что не получается перейти по ссылке и почитать? |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Тексты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |