2009-01-31 6 views
1

Je fais un petit fichier php pour enregistrer certaines adresses IP. Il va écrire les ips et la date/heure dans un fichier html. Le fichier html va être une table. Je veux mak comme ceci:Comment faire php ouvrir un fichier html, aller deux lignes, puis écrire là et fermer?

<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> 

donc j'ai besoin pour ouvrir le fichier, écrivez l'adresse IP et la date/heure sur la ligne ci-dessus </table> je l'ai déjà le php pour écrire ce que je veux, mais il écrit un fond.

Je suis novice très, je ne sais pas quoi mettre dans où ..

C'est ce que j'ai:

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

Je recommande de conserver toutes les données dans la base de données, et de créer un fichier .html en utilisant le script .php pour lire à partir de cette base de données .. . –

Répondre

4

Je vais supposer qu'il n'y a qu'une seule table dans le fichier. S'il y en a plus d'un, cela l'ajoutera à chacun.

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

EDIT mixte ma suggestion avec votre code

0

Ce que je suggère utilise 2 fichiers, un fichier .log pour stocker les données brutes et un script .php qui lit ce fichier .log et générer une table. Les principales raisons sont les suivantes:

1) votre fichier .log restera beaucoup plus petite

2) si jamais vous voulez changer la mise en page, est toujours possible en éditant le script .php

3) lorsque votre fichier .log devient ÉNORME, il peut ne pas être possible de stocker son contenu dans une chaîne avec file_get_contents

Questions connexes