Используйте php fseek (), чтобы найти конец файла (найдите, используя filesize ()), затем выполните итерацию в обратном направлении на одну строку. прочитайте последнюю строку и сохраните ее временно. переписать последнюю строку с тем, что вы хотите вставить, а затем добавить временную строку, которую вы сохранили ранее.
Чтобы перебрать одну строку назад, используйте fseek в сочетании с fgetc ()
$offset = filesize($fhandle) - 1;
fseek($fhandle, $offset--); //seek to the end of the line
while(fgetc($fhandle) != '\n') {
fseek($fhandle, $offset--);
}
и теперь ваш внутренний указатель файла должен указывать на строку перед последней строкой. Конечно, вам придется иметь дело с угловыми случаями, когда ваш файл имеет только одну строку, но я дам вам разобраться в деталях;)
теперь сохраняем последнюю строку в переменной tmp
$lastline = fgets($fhandle);
fseek($fhandle, $offset); //go back to where the last line began
вставьте свою строку и добавьте последнюю строку в конец файла
fwrite($fhandle, $myLine);
fwrite($fhandle, $lastline);