我有一个test
仅用 2 行命名的文本文件:
1
2
我希望能够从文件中删除最后一行,所以我使用以下函数:
<?php
$file = file('test.txt');
array_pop($file);
file_put_contents(implode($file));
?>
出于某种原因,这什么也没做,文件仍然有确切的行..我在这里遗漏了什么吗?
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));