我有一个名为test
的文本文件,只有两行:
1
2
我希望能够从文件中删除最后一行,因此我使用以下函数:
<?php
$file = file('test.txt');
array_pop($file);
file_put_contents(implode($file));
?>
出于某种原因,这没有做任何事情,文件仍然有确切的行..我在这里遗漏了什么?
答案 0 :(得分:3)
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));