【发布时间】:2011-08-03 10:05:46
【问题描述】:
我有一个日志文件。
我想在网页上显示它的内容以及发生的所有变化。
就像一个监控文件内容。
我该怎么做?
非常感谢。
【问题讨论】:
-
这应该很容易。通过 Ajax 轮询服务器并返回文件内容。请说明您迄今为止尝试过的内容和/或您在自行解决问题时遇到的问题。
标签: php javascript jquery file
我有一个日志文件。
我想在网页上显示它的内容以及发生的所有变化。
就像一个监控文件内容。
我该怎么做?
非常感谢。
【问题讨论】:
标签: php javascript jquery file
为此,您需要在向日志添加一行时保存时间戳或日期/时间。然后就可以使用 file_get_contents("dir/file.txt") 来读取文件了。
【讨论】:
如果它的文件增量增加(新内容只附加到前一个内容的末尾),我会将该文件的最后一个已知大小存储在某处,当下次访问时,我会读取这个位置并读取文件从这个位置到最后。类似的东西
$last_known_size = 1024; // I set this to some value, read it from your location as mentioned at the end of this example.
$filename = 'thelogfile.log';
$handle = $fopen($filename, 'r');
fseek($handle, $last_known_size);
$new_log_size = filesize($filename);
$new_log_content = fread($handle, $new_log_size);
fclose($handle);
并根据需要将 $new_log_size 的值存储在任何地方(内存、文件系统、数据库...)以供下次读取...
【讨论】:
几个有用的链接:
间隔:http://www.elated.com/articles/javascript-timers-with-settimeout-and-setinterval/
读取文件:http://www.html5rocks.com/en/tutorials/file/dndfiles/ 或 http://www.javascripter.net/faq/reading2.htm
您也可以使用 php 来读取文件,而不是使用 ajax 的 javascript。
【讨论】: