2009-01-31 53 views
1

我正在製作一個php文件來記錄一些ip地址。它將把ips和日期/時間寫入一個html文件。 html文件將成爲一張表格。所以我想麥這樣的:如何讓php打開一個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> 我已經有PHP線路的IP地址和日期/時間來寫我想要什麼,但它寫了一個底部。

我非常新手,我不知道要放什麼東西在..

這是我有:

<?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); 
?> 
+0

我建議將所有數據保存在數據庫中,並使用.php腳本創建.html文件以從該數據庫中讀取.. 。 – 2010-07-23 08:40:06

回答

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); 
?>  

編輯混合我的建議與您的代碼

0

我會用2個文件,一個.log文件來存儲原始數據,並以.php腳本,從.log文件讀取建議並生成一個表格。其主要理由是:

1)你的.log文件仍將小得多

2)如果你想通過編輯.PHP腳本

3更改佈局,它總是可能的)時,你的.log文件變得很大,它可能無法將其內容存儲到一個字符串file_get_contents

相關問題