以html实时显示txt内容(我的web服务器不支持php)
我有一个名为log.txt的文件,它总是由另一个进程写入新内容(这里是pexpect的telnet会话),我想在页面中显示整个内容,当新内容出现时,页面内容也会显示新内容,这有点像tail-f,但有点不同,因为我想显示除新内容之外的所有内容,最简单(可能也是最糟糕)的方法是每次使用ajax请求下载全部内容。例如,使用jQuery的一种可能实现是:以html实时显示txt内容(我的web服务器不支持php),php,jquery,html,Php,Jquery,Html,我有一个名为log.txt的文件,它总是由另一个进程写入新内容(这里是pexpect的telnet会话),我想在页面中显示整个内容,当新内容出现时,页面内容也会显示新内容,这有点像tail-f,但有点不同,因为我想显示除新内容之外的所有内容,最简单(可能也是最糟糕)的方法是每次使用ajax请求下载全部内容。例如,使用jQuery的一种可能实现是: var logDownloader = { fileContents:"", init: function () {
var logDownloader = {
fileContents:"",
init: function () {
$.ajax({
url: "./logfile.txt",
async: false,
success: function (data){
pageExecute.fileContents = data;
}
});
}
};
另一种方法是调用php脚本,它只返回日志文件中文本的“新鲜”部分。对于逐行读取文件,您可以使用例如:
if ($file = fopen("file.txt", "r")) {
while(!feof($file)) {
$line = fgets($file);
//send your line
}
fclose($file);
}
您还应该发送上次发送的行数,以避免每次发送整个文件
另一方面,如果您不限于PHP,我建议使用nodeJS和socket.io或一些python脚本。我认为这样会更有效。什么命令?什么数据的日志?HTML是表示文档的标记,而不是以线性方式运行的程序。嗨,Luke,你能在这里发布整个jqurey代码吗?我对jqurey知之甚少,我不知道如何使用它,如果我使用python脚本,我的起点在哪里?如果我使用socket.io,我需要安装一些东西才能让它工作吗?一个很好的开始是教程和文档,比如我不会提供完整的代码,因为堆栈溢出并不存在。我们正在帮助您获得一个想法,而不是完整的拷贝粘贴解决方案。