我有一個名爲log.txt的文件,它總是被另一個進程寫入新內容(這裏是一個由pexpect ),我想要以頁面形式顯示整個內容,當新內容進入時,頁面內容也會顯示新內容,它有點像tail -f,但有點不同,因爲我想顯示整個內容除了新內容剛剛進來在html中以實時方式顯示txt內容(我的web服務器不支持php)
回答
最簡單的(也許最糟糕的)方法是每次使用ajax請求下載整個。一個使用jQuery是例如,可能實現的:
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腳本。在我看來,它會更有效率。
Hi Luke,你可以在這裏發佈整個jqurey代碼,我對jqurey知之甚少,我不知道如何使用它,如果我使用python腳本,我的起點在哪裏?如果我使用socket.io,我需要安裝一些東西才能使它工作嗎? – Paul
開始的好地方是教程和文檔,例如https://www.w3schools.com/jquery/jquery_ajax_get_post.asp http://api.jquery.com/jquery.ajax/ https://www.tutorialspoint.com/ socket.io/我不會爲您提供完整的代碼,因爲此類目的不存在堆棧溢出。我們正在幫助您獲得創意,而不是完整的複製粘貼解決方案。 – Luke
- 1. 在localhost上顯示的支持票不在web服務器上
- 2. 在PHP文件中的html內容將不會顯示在centos服務器
- 3. 在Nim中支持web套接字的Web服務器示例
- 4. 不支持的內容類型的內部服務器錯誤
- 5. 怎麼我的web服務器的NodeJS添加PHP支持
- 6. node.js簡單的HTTP服務器,內容html不顯示圖像
- 7. Docker容器可以在實時Web服務器上運行嗎?
- 8. PHP輸出顯示HTML內容以上
- 9. asp:圖表控件在web服務器中不顯示任何內容
- 10. 如何從Liferay 6.2中的Web內容顯示調用Web服務方法?
- 11. 顯示jQuery中的實際HTML內容
- 12. 我可以在不支持ALPN的情況下實現http/2服務器嗎?
- 13. 在Web服務器上檢索.txt文件的內容而不打擾它?
- 14. 顯示PHP中的數組內容/ HTML
- 15. Web服務不支持的參數
- 16. 所有的Web服務器都支持HTML 5嗎?
- 17. 在uibModal中顯示從服務器返回的iframe中的html內容
- 18. 在Ruby中調用https Web服務時'SSL不支持'
- 19. 如何在HTML中顯示Web服務器文件的列表
- 20. 如何在Liferay 6.2的Web內容portlet中顯示Web服務中的數據?
- 21. 在WPF的Mail.Body中顯示HTML內容的最佳方式
- 22. Web字體在本地不支持firefox,但在服務器上支持
- 23. 保持Web服務器中(PHP)
- 24. Exchange Web服務支持Exchange2007_SP3
- 25. REST Web服務支持2010
- 26. 顯示.txt文件時保持格式
- 27. Liferay Web內容不顯示
- 28. 在AngularJs網頁中顯示html內容的最佳方式
- 29. Visual Studio的內置Web服務器是否支持HTTP PUT?
- 30. Adobe AIR的插座Web服務器PHP支持
什麼命令?記錄什麼數據? HTML是代表文檔的標記,而不是以線性方式運行的程序。 – Brad