Я видел 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
Вы читали документацию функции [файл '()'] (HTTP : //php.net/manual/en/function.file.php)? В разделе «Возвращаемые значения» он четко указывает: * «Каждый элемент массива соответствует строке в файле **, когда новая строка все еще прикреплена **.» *. Дополнительные строки, которые вы получаете, добавляются 'implode (PHP_EOL, $ arr)'. Передайте пустую строку ('' '') в качестве первого аргумента 'implode()', а дополнительные строки исчезнут. – axiac