У меня есть текстовый файл 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));