Простая функция PHP для удаления последней строки из текстового файла, не работающего

У меня есть текстовый файл test с двумя строками:

 1 2 

Я хочу, чтобы удалить последнюю строку из файла, поэтому я использую следующую функцию:

 <?php $file = file('test.txt'); array_pop($file); file_put_contents(implode($file)); ?> 

По какой-то причине это ничего не делает, и в файле все еще есть точные строки … я что-то пропустил?

функция файла возвращает только содержимое файла (как массив) – и все, что вы делаете с этим массивом, меняет только массив, а не файл. Чтобы сохранить изменения, напишите содержимое обратно в файл:

 $filename = 'test.txt'; $arr = file($filename); if ($arr === false) { die('Failed to read ' . $filename); } array_pop($arr); file_put_contents($filename, implode(PHP_EOL, $arr));