Удаление последней строки из файла

Простой вариант, если исходный файл не заканчивается перевод строки:

Скопировано
$text = file_get_contents( 'FILE_PATH' );
$pos = strrpos( $text, PHP_EOL );
$text = substr( $text, 0, $pos );
file_put_contents( 'FILE_PATH', $text );
Показать код

Или вариант с проверкой, что последняя строка в файле это перевод строки. И тогда мы удаляем последнюю значимую строку и добавляем в коней перевод строки:

Скопировано
$text = file_get_contents( 'FILE_PATH' );
$offset = mb_substr( $text, -1 ) == PHP_EOL ? -2 : 0;
$pos = strrpos( $text, PHP_EOL, $offset );
$text = $offset === 0 ? substr( $text, 0, $pos ) : substr( $text, 0, $pos ) . PHP_EOL;
file_put_contents( 'FILE_PATH', $text );
Показать код

Вместе FILE_PATH прописываем путь к файлу.