для построчной записи в конец файла, открываешь файл в режиме
a+
(
подробнее об fopen)
$hFile = fopen("path/to/your/file", "a+");
пишешь в любое время, используя
fwrite
для обозначения конца строки используешь
\n
(LF, рекомендуется) или \r\n
(CRLF), либо кроссплатформенную переменную PHP_EOL
fwrite($hFile, "content\n");
по окончанию работы с файлом закрываешь его, используя
fclose
файл автоматически закрывается после окончания работы скрипта, поэтому использовать часто не приходится
читать файл построчно можно используя функцию
file
без использования fopen
$lines = file("path/to/your/file"); // в этом массиве все строки файла
$rev = array_reverse($lines); // а здесь в обратном порядке (если нужно)
foreach ($lines as $line_number => $line_text) {
printf("Строка %d: %s\n", $line_number, $line_text);
}
если нужно иметь сразу как всё содержимое файла, так и массив строк,
можно использовать
file_get_contents
и сплитнуть содержимое по
\n
(сначала заменив все
\r\n
на
\n
)
$content = file_get_contents("path/to/your/file"); // все содержимое файла
$lines = explode("\n", str_replace(["\r\n", "\r"], "\n", $content)); // строки в массиве
foreach ($lines as $line_number => $line_text)
printf("line %d => %s\n");
либо наоборот склеить массив с
\n
$lines = file("path/to/your/file"); // строки в массиве
$content = implode("\n", $lines); // все содержимое файла (при использовании этого, хеш сумма будет отличаться от настоящего содержимого, которое может быть получено с помощью file_get_contents)
file_put_contents
полностью перезаписывает файл
сам смотри, что тебе проще, каждому свое, либо зависит от ситуации