在webserver上使用php插入文本

I make some web only using html, php. This web is simple.

Input some text using below php code.

$log_file_name = 'mylog.html'; // Change to the log file name
$message1 = $_POST['message1']."<BR>"; // incoming message
$message2 = $_POST['message2']."<BR>"; // incoming message
$message3 = $_POST['message3']."<BR>"; // incoming message
file_put_contents($log_file_name, $message1, FILE_APPEND);
file_put_contents($log_file_name, $message2, FILE_APPEND);
file_put_contents($log_file_name, $message3, FILE_APPEND);

mylog.html has below text.

AAAA
BBBB
CCCC

I want change mylog.html like a below

AAAA'$message1'
BBBB'$message2'
CCCC'$message3'

First read in the old contents of the file, append your new messages to each line, and write that out.

$log_file_name = 'mylog.html'; // Change to the log file name
$message1 = "'" . $_POST['message1']."'<BR>"; // incoming message
$message2 = "'" . $_POST['message2']."'<BR>"; // incoming message
$message3 = "'" . $_POST['message3']."'<BR>"; // incoming message
$old = file_get_contents($log_file_name);
$lines = explode('<BR>', $old);
$lines[0] .= $message1;
$lines[1] .= $message2;
$lines[2] .= $message3;
unset($lines[3]); // Get rid of extra <BR>
file_put_contents($log_file_name, implode('', $lines));

If you have lots of POST messages, it would probably be better to make them an array. The form should use:

<input type="text" name="message[]">

for all the message inputs. Then you can use a foreach loop to process them.

$log_file_name = 'mylog.html'; // Change to the log file name
$old = file_get_contents($log_file_name);
$lines = explode('<BR>', $old);
foreach ($_POST['message'] as $i => $message) {
    $lines[$i] .= "'$message'<BR>";
}
unset($lines[count[$lines]-1); // Get rid of extra <BR>
file_put_contents($log_file_name, implode('', $lines));