@rvitalia

Как отслеживать изменение локального файла в директории через js?

Добрый день!

У меня в корневую директорию с сервера приходят сообщения и сохраняются в файл message.txt. Есть ли какая-либо возможность через js(в идеале) отслеживать изменение этого файла, чтоб я потом запускал свой обработчик.

То есть пришло сообщение, это сразу все отследилось, и запустилась функция парсинга...
Не знаю даже с какой стороны подступиться..заранее спасибо за любую помощь.
  • Вопрос задан
  • 164 просмотра
Пригласить эксперта
Ответы на вопрос 2
@rPman
Сама идея приложения у тебя максимально неправильная но да ладно.

В тегах у тебя php, на нем обычно пишут бакэнд - серверную часть, вот и отслеживай изменения в файле через него. Т.е. к примеру на javascript из браузера по таймеру (setInterval) раз в 1-10 секунд делаешь запрос на сервер вида - выдай мне изменения в файле начиная с такой то даты (например новые строки) или пустой ответ. А на php код должен проверять дату последнего изменения в файле метод filemtime (осторожно, результаты кешируются, поэтому перед проверкой сбрасывай кеш) и сравнивать с датой, которую запросил браузер.

Почему дата, с которой нужно сравнивать, нужно хранить в браузере, потому что у тебя может быть открыто несколько вкладок (или разные пользователи) на чтение данных из этого файла но в разные моменты времени, и для каждого этот момент времени свой. Используй не время на клиенте, а время, которое возвращает функция filemtime (т.е. твой бакэнд помимо строк из файла должен вернуть дату на момент чтения этих строк).
Ответ написан
@webdeveloperzbk
Full-stack developer
Так как файл "обновляется" на бэке, то и изменения необходимо мониторить на бэке. Так как с JS страница может перезагрузиться и как тогда хранить состояние?
Нужно через Web Socket об этом сообщать JS.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы