2013-07-14 2 views
0

У меня есть текстовый файл, хранящий одну строку. Я ожидаю, что текстовый файл будет часто меняться, поэтому, чтобы обновлять мою страницу, я хотел бы использовать PHP (желательно) для извлечения данных из текстового файла каждые 20 секунд, чтобы я мог взорвать его в массив и используйте содержимое соответственно. Переменные также должны обновлять каждые 20 секунд.Проверить текстовый файл каждые 20 секунд и получить содержимое

Итак: при загрузке страницы содержимое извлекается и отображается. Но содержимое текстового файла может быть изменено, что делает страницу устаревшей, пока пользователь может ее открыть.

Я попробовал META Refresh, но вся страница обновляется в середине просмотра и прерывает пользователя.

Извините за запутанное описание, это трудно объяснить. :)

Я искал в Интернете целую вечность и не нашел ответа на мой вопрос. Пожалуйста, помните, что я использую текстовый файл, а не MySQL, поскольку я сохраняю только одну строку.

Заранее спасибо.

ответ

2

Если вы хотите остаться с PHP, я боюсь, освежающий HTML Meta решение:

<meta http-equiv="refresh" content="10; url=http://example.com/" /> 

обновить страницу каждые X секунд, так что файл будет перезагружен. Другим способом может быть использование фреймов, однако я не могу серьезно рекомендовать его вам.

Однако вы можете загрузить контент, не перезагружая всю страницу, используя Ajax. Он позволяет вам выполнять HTTP-запрос на сервер (используя код Javascript) и размещать его результат на текущей странице, используя Javascript. Вы можете создать скрипт PHP «my_string_parsed.php», который читает файл, а затем анализирует/распечатывает его содержимое. Затем вы можете вызвать этот скрипт через запрос Ajax до http://yoursite.com/my_string_parsed.php и поместить его результат в указанный тег HTML на своей странице.

W3Schools.com обеспечивает обучающую Ajax здесь: http://www.w3schools.com/ajax/

предупреждение относительно Ajax, хотя: При загрузке контента Ajax должен никогда заменить типичное поведение HTTP ваш браузер и сервер есть. Если строка в вашем файле является единственным содержимым вашей страницы, лучшим решением будет обновить мета. Ajax следует использовать только для обновления частей страницы. Никогда.

+0

Благодарим вас за отличный ответ. Лучший ответ. :) – Joel

0

Почему бы не использовать базу данных вместо файла. Вы также можете использовать jQuery для плавного обновления своей страницы.

+0

Я использую текстовый файл, потому что мне нужно будет только сохранить одну строку, и мне, как правило, намного легче интегрироваться. :) – Joel