每20秒检查一次文本文件并获取内容

时间:2013-07-14 14:54:05

标签: php refresh text-files partial-page-refresh

我有一个存储一个字符串的文本文件。我预计文本文件会经常更改,所以为了使我的页面保持最新,我想使用PHP(最好)每隔20秒从文本文件中获取数据,这样我就可以将它分解为数组并且相应地使用内容。变量也需要每20秒更新一次。

所以:在页面加载时,会提取并显示内容。但是文本文件的内容可能会被更改,从而使用户可能已打开页面时过期。

我尝试了META Refresh,但整个页面在浏览过程中刷新并中断了用户。

对于令人困惑的描述感到抱歉,很难解释。 :)

我在网上搜索了很多年,没有找到我的问题的答案。请记住我使用的是文本文件,而不是MySQL,因为我只存储一个字符串。

提前致谢。

2 个答案:

答案 0 :(得分:2)

如果你想继续使用PHP,我担心一个令人耳目一新的HTML Meta是解决方案:

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

每隔X秒刷新一次页面,以便重新加载文件。 另一种方式可能是框架的使用,但我不能认真地向你推荐它。

但是,您可以使用Ajax加载内容而无需重新加载整个页面。它允许您使用Javascript对服务器执行HTTP请求(使用Javascript代码)并将其结果放在当前页面上。您可以创建一个PHP脚本“my_string_parsed.php”,它读取文件,然后解析/打印其内容。然后,您可以通过对http://yoursite.com/my_string_parsed.php的Ajax请求调用此脚本,并将其结果放在页面上的指定HTML标记中。

W3Schools.com在此提供了一个Ajax教程:http://www.w3schools.com/ajax/

关于Ajax的警告: Ajax内容加载必须从不替换浏览器和服务器的典型HTTP行为。如果文件中的字符串是页面上唯一的内容,那么最好的解决方案就是刷新元数据。 Ajax应仅用于刷新页面的某些部分。从来没有完整的事情。

答案 1 :(得分:0)

为什么不使用数据库而不是文件。您还可以使用jQuery顺利更新页面。