在PHP中附加到HTML日志文件
我正试图附加到日志文件中,为每个事件使用HTML表格格式。然而,有一个困难我不知道如何解决。这里是HTML的静态输出在PHP中附加到HTML日志文件,php,html,file-processing,Php,Html,File Processing,我正试图附加到日志文件中,为每个事件使用HTML表格格式。然而,有一个困难我不知道如何解决。这里是HTML的静态输出 <table> <tr><td> .... </td> </tr> <!-- new log entry should enter here --> </table> </html> .... 问题是如何快速地将日志条目插入到表中,而不会弄乱HTML,最好使用
<table>
<tr><td> .... </td>
</tr>
<!-- new log entry should enter here -->
</table>
</html>
....
问题是如何快速地将日志条目插入到表中,而不会弄乱HTML,最好使用最少的处理量?我知道我可以加载整个文件,使用模板解决方案,并重写文件,但这可能会很慢(日志文件可能会快速增长!)
因此,我正在寻找用于append的通常打开的文件,并以某种方式在最后一行之后但在标记之前写入
有什么建议吗
另外,我知道如果我在最后省略标记,大多数浏览器都会呈现HMTL,但我很好奇是否有一个理想的解决方案。我不太确定你想要什么,但它是这样的吗
<table>
<tr><td> .... </td></tr>
<?php
foreach ($logitems as $item)
{
echo "<tr><td>" . $value . "</td></tr>\n";
}
?>
</table>
....
我建议只创建包含表行的日志文件,然后将其包含在包含所需页眉和页脚的文件中
因此,您将写入“log.html”,但查看“log.php”,它将是:
<html>
<head>
</head>
<body>
<table>
<?php include('log.html') ?>
</table>
</body>
</html>
删除文件的最后一行。只需确保您知道“页脚”有多长。下面是一些可能适合您的示例代码
$footer = "</table></html>";
$file = fopen($log_file, 'rw');
ftruncate($file, strlen($footer));
fseek($file, 0, SEEK_END);
fputs($file, $log);
fputs($file, $footer);
fclose($file);
$footer=”“;
$file=fopen($log_文件,'rw');
ftruncate($file,strlen($footer));
fseek($file,0,SEEK\u END);
fputs($file,$log);
fputs($file,$footer);
fclose($文件);
这是文档。这似乎有点理智,但问题似乎是如何附加到静态文件。如果不需要创建静态文件,那么这是一种比我在回答中提供的更好的方法(IMO);写入($f,
);外国法郎(f美元);将PHP输出到静态页面,否?这两个都是很好的答案;我想我忘了提到我需要一个静态的.html文件,因为它可能通过电子邮件传递给其他人。其目的并不是真正拥有一个日志查看器。您可以使用htaccess将.php更改为.htm:如果必须使用static,那么第二个示例应该是您正在寻找的。但是,如果服务器正在为用户发送电子邮件的文件提供服务,这两种方式都不重要,他们将得到一个完整的HTML文件。
$footer = "</table></html>";
$file = fopen($log_file, 'rw');
ftruncate($file, strlen($footer));
fseek($file, 0, SEEK_END);
fputs($file, $log);
fputs($file, $footer);
fclose($file);