简单的PHP函数从文本文件中删除最后一行不起作用

时间:2013-10-27 22:58:00

标签: php file

我有一个名为test的文本文件,只有两行:

1
2

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

<?php

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

?>

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

1 个答案:

答案 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));