使用Ajax流式传输日志文件

时间:2012-09-05 19:12:09

标签: php ajax ftp

我需要从远程服务器流式传输位于FTP上的日志文件。

我不知道如何使用Ajax流式传输此内容。

谷歌上有一些东西,但我似乎无法找到可以访问远程FTP并传输文件的东西。

也许使用Ajax并使用间隔,然后向下滚动到页面底部。

请注意,日志文件会不断更新,人们也会向服务器发送命令,从而更新日志文件。每次刷新日志和下载日志都会很慢吗?某些日志文件可能非常大。

2 个答案:

答案 0 :(得分:1)

我认为你需要某种中间脚本来跟踪日志文件的最后读取行以及对该文件的任何更新后对AJAX调用的响应。

我的伪代码解决方案看起来像这样

  • 读取已处理的最后一个行号的本地缓存文件
  • 计算文件中的行数(使用linux wc -l或类似内容)
  • 从差异(linux tail -n X或类似)
  • 计算文件中的最后X行数
  • 使用读取的最后一个行号更新本地缓存文件。
  • 将内容返回给来电者。

答案 1 :(得分:1)

停止使用文件系统并实施publish-subscriber pattern。有关参考实施,请参阅logglypapertrail