Comment faire php ouvrir un fichier html, allez deux lignes, puis écrivez et fermez?

StackOverflow https://stackoverflow.com/questions/499542

  •  20-08-2019
  •  | 
  •  

Question

Je suis en train de créer 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. Donc, je veux le faire comme ça:

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

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

Je suis très novice, je ne sais pas quoi mettre en ..

Voici 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); 
?>
Était-ce utile?

La solution

Je vais supposer qu'il n'y a qu'une seule table dans le fichier. S'il y en a plus d'un, cela les 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);
?>    

MODIFIER ma suggestion avec votre code

Autres conseils

Je suggère d'utiliser 2 fichiers, un fichier .log pour stocker les données brutes et un script .php qui lit ce fichier .log et génère un tableau. Les principales raisons sont:

1) votre fichier .log restera beaucoup plus petit

2) si vous souhaitez jamais changer la disposition, cela est toujours possible en modifiant 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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top