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


Check text file every 20 seconds and get contents

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

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

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

很抱歉有混淆的描述,很难解释。:)

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

提前谢谢。

如果你想继续使用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应该只用于刷新页面的一部分。从来都不是整件事。

为什么不使用数据库而不是文件。您也可以使用jQuery来平滑地更新页面。