如何让php打开一个html文件,两行,然后写在那里并关闭?

时间:2009-01-31 20:52:30

标签: php html-table fwrite

我正在创建一个小的php文件来记录一些ip地址。它将把ips和日期/时间写入html文件。 html文件将成为一个表。所以我想这样做:

<table cellpadding="6" rules="groups"  frame="no">
<thead>
<tr><th>IP</th><th>Date</th><th>Time</th></tr>

</thead>
<tbody>
<tr><td>192.168.0.1</td><td>31. January 2009</td><td>19:21:09</td></tr> 
</tbody>
</table>

所以我需要它来打开文件,在</table>上方的行上写下ip和日期/时间 我已经有了php来写我想要的东西,但是它写了一个底部。

我是新手,我不知道该把什么放在哪里..

这就是我所拥有的:

<?php
$ip = $_SERVER['REMOTE_ADDR']; 
$date = date("j. F Y"); 
$time = date("H:i:s"); 
$file = fopen('./iplogg.html', 'a', 1); 
$text="<tr><td>{$ip}</td><td>{$date}</td><td>{$time}</td></tr> \n"; 
fwrite($file, $text); 
fclose($file); 
?>

2 个答案:

答案 0 :(得分:4)

我将假设文件中只有一个表。如果有多个,则会将其添加到每个。

<?php
$ip = $_SERVER['REMOTE_ADDR']; 
$date = date("j. F Y"); 
$time = date("H:i:s"); 
$text="<tr><td>{$ip}</td><td>{$date}</td><td>{$time}</td></tr> \n"; 

$originalfile = file_get_contents ('./iplogg.html');
$newFile = str_replace('</table>',$text.'</table>',$originalfile);
file_put_contents('./iplogg.html', $newFile);
?>    

编辑将我的建议与您的代码混合

答案 1 :(得分:0)

我建议使用2个文件,一个.log文件来存储原始数据,一个.php脚本从该.log文件中读取并生成一个表。主要原因是:

1)你的.log文件将保持小得多

2)如果您想要更改布局,可以通过编辑.php脚本

来实现

3)当您的.log文件变为巨大时,可能无法将其内容存储到带有file_get_contents的字符串中