【发布时间】:2015-05-19 01:20:25
【问题描述】:
我看到using fseek to insert string before last line 这个问题,但这并不能解决我的问题。我不使用“?>”标签。 PHP版本PHP 5.4
example line1
example line2
//i need insert here
lastline $eg};
我的代码正在运行,但这是在所有行之后添加空行:
$filename = 'example.php';
$arr = file($filename);
if ($arr === false) {
die('Error' . $filename);
}
array_pop($arr);
file_put_contents($filename, implode(PHP_EOL, $arr));
/// I'm deleting last line here
$person = "my text here\n";
file_put_contents($filename, $person, FILE_APPEND);
$person = "andherelastline";
file_put_contents($filename, $person, FILE_APPEND);
//and then add again here
【问题讨论】:
-
你看过函数
file()的文档吗?在“返回值”部分下,它明确指出:“数组的每个元素对应于文件中的一行,仍然附加换行符。”。您获得的额外行由implode(PHP_EOL, $arr)添加。将空字符串 ('') 作为第一个参数传递给implode(),多余的行将消失。