Как заставить php открыть html-файл, перейти на две строки вверх, затем написать там и закрыть?

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

  •  20-08-2019
  •  | 
  •  

Вопрос

Я создаю небольшой php-файл для регистрации некоторых IP-адресов.Он собирается записать IP-адреса и дату / время в 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>

Итак, мне нужно, чтобы он открыл файл, записал ip и дату / время в строке выше </table> У меня уже есть 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); 
?>
Это было полезно?

Решение

Я собираюсь предположить, что в файле есть только одна таблица.Если их несколько, это добавит их к каждому.

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

Редактировать Смешал мое предложение с вашим кодом

Другие советы

Что я бы предложил, так это использовать 2 файла, один .файл журнала для хранения необработанных данных и php-скрипт, который считывает их .файл журнала и генерирует таблицу.Основными причинами являются:

1) ваш .файл журнала останется намного меньше

2) если вы когда-нибудь захотите изменить макет, это всегда возможно путем редактирования php-скрипта

3) когда ваш .файл журнала становится ОГРОМНЫМ, может оказаться невозможным сохранить его содержимое в строку с file_get_contents

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top