0

我有一个test仅用 2 行命名的文本文件:

1
2

我希望能够从文件中删除最后一行,所以我使用以下函数:

<?php

$file = file('test.txt');
array_pop($file);
file_put_contents(implode($file));

?>

出于某种原因,这什么也没做,文件仍然有确切的行..我在这里遗漏了什么吗?

4

1 回答 1

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));
于 2013-10-27T23:11:34.123 回答