【发布时间】:2014-06-30 15:33:27
【问题描述】:
今天我正在处理非常大的日志文件,我想通过 lighttpd 在我的 RPi 上显示它们,但它们每天都在变大,因此很快就会需要很长时间才能加载。
为了防止这个问题,我想我可以有一个按钮来读取,比如这个日志文件的最后 500 行。当然我对javascript没有太多经验,但我认为它是可行的,对吧?
无论如何,虽然我在 PHP 中找到了this,但我找不到任何描述如何在 javascript 中执行此操作的好教程,但由于我不是在 PHP 中工作,所以我无法使用它。因此,一个关于如何在 javascript 中读取最后 500 行的示例,或者每次单击从文件末尾开始的按钮时逐步读取 500 行的按钮对我来说非常少。
提前谢谢各位。
(P.S:我已经读过使用 javascript 无法读取文件,但使用 AJAX 调用是可能的。)
【问题讨论】:
-
我认为这是不可能的。为什么不能使用 PHP?当您向服务器请求(请求)文件时,服务器最终必须发送整个文件。
-
@soktinpk 它为我的 RPi 提供了更多的配置,我希望它尽可能简单,如果这不可能,我可能还是不得不使用 PHP..
-
那么,我能想到的唯一方法就是手动将大文件拆分为 500 行的单独块。
-
我同意soktinpk。只需使用 AJAX 向服务器发出请求,然后使用服务器端语言仅输出文件的最后 50 行。如果您使用 PHP,那么您可以使用 PHP 将数据保存在数据库中,并在输出文件中仅获取数据库中的最后 50 项。
-
这里有很多选择——如果你想要一个简单的例子来说明如何调用用 Python 编写的服务器端 CGI(在 RPi 上使用 lighttpd 托管),我实际上基于它创建了一个项目一年前:github.com/swlasse/RPiDeskController。但是,是的,基本上,您需要使用例如 jQuery 进行 AJAX 请求,有一个端点监听,处理请求,并解析您在客户端返回的响应。
标签: javascript jquery ajax large-files