Представьте У меня есть текстовый файл со следующим содержимым:PHP записи в файл в определенном месте
Hello
How are you
Paris
London
И я хочу, чтобы писать под Парижем, поэтому Париж имеет индекс 2, и я хочу написать в 3.
в настоящее время у меня есть это:
$fileName = 'file.txt';
$lineNumber = 3;
$changeTo = "the changed line\n";
$contents = file($fileName);
$contents[$lineNumber] = $changeTo;
file_put_contents($fileName, implode('',$contents));
Но он изменяет только конкретную строку. И я не хочу изменять, я хочу написать новую строку и позволить остальным оставаться там, где они есть.
Как я могу это сделать?
Редактировать: Решено. В очень простом способе:
$contents = file($filename);
$contents[2] = $contents[2] . "\n"; // Gives a new line
file_put_contents($filename, implode('',$contents));
$contents = file($filename);
$contents[3] = "Nooooooo!\n";
file_put_contents($filename, implode('',$contents));
использования [array_splice()] (http://www.php.net/function.array-splice) вводить новые записи в массив $ содержания –
См Http: // StackOverflow. com/questions/3797239/insert-new-item-in-array-on-any-position-in-php – jszobody
http://stackoverflow.com/questions/2149233/how-to-add-an-array-value- to-the-the-the-the-the-array больше подходит, я думаю @jszobody – m59