¿Cómo hacer que php abra un archivo html, vaya dos líneas hacia arriba, luego escriba allí y cierre?

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

  •  20-08-2019
  •  | 
  •  

Pregunta

Estoy haciendo un pequeño archivo php para registrar algunas direcciones IP. Va a escribir los ips y la fecha / hora en un archivo html. El archivo html será una tabla. Así que quiero hacerlo así:

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

Así que lo necesito para abrir el archivo, escriba la dirección IP y la fecha / hora en la línea de arriba </table> Ya tengo el php para escribir lo que quiero, pero escribe al final.

Soy muy novato, no sé qué poner donde ...

Esto es lo que tengo:

<?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); 
?>
¿Fue útil?

Solución

Voy a suponer que solo hay una sola tabla en el archivo. Si hay más de uno, esto lo agregará a cada uno.

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

EDITAR Mezcló mi sugerencia con su código

Otros consejos

Lo que sugeriría es utilizar 2 archivos, un archivo .log para almacenar los datos sin procesar y un script .php que lee ese archivo .log y genera una tabla. Las razones principales son:

1) su archivo .log seguirá siendo mucho más pequeño

2) si alguna vez desea cambiar el diseño, siempre es posible editando el script .php

3) cuando su archivo .log se vuelve ENORME, es posible que no sea posible almacenar su contenido en una cadena con file_get_contents

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top