Попытка вставить текст в файл ВЫШЕ определенную строку

У меня есть текстовый файл, больше файлов пользователей для программы. Я пытаюсь использовать PHP для вставки новых данных перед группами: в файл. Последний пользователь находится выше этой строки, и я хочу вставить новых пользователей ниже последнего пользователя и выше групп: в файл

Я тренировался и пытался что-то предпринять, но я могу получить его только после этой линии.

heres, что у меня есть

$key = 'groups:'; $newline = 'blackberry'; //copy file to prevent double entry $file = "data2.yml"; $newfile = "filetemp.txt"; copy($file, $newfile) or exit("failed to copy $file"); //load file into $lines array $fc = fopen ($file, "r"); while (!feof ($fc)) { $buffer = fgets($fc, 4096); $lines[] = $buffer; } fclose ($fc); //open same file and use "w" to clear file $f=fopen($newfile,"w") or die("couldn't open $file"); /* uncomment to debug */ print_r($lines); print " 
\n"; //loop through array using foreach foreach($lines as $line) { fwrite($f,$line); //place $line back in file if (strstr($line,$key)){ //look for $key in each line fwrite($f,$newline."\n"); } //place $line back in file } fclose($f); copy($newfile, $file) or exit("failed to copy $newfile"); ?>

Его файл yml, поэтому я не могу добавить дополнительную строку для публикации после того, как она закручивается и отказывается запускаться.

благодаря!

ваш код foreach должен быть:

 foreach($lines as $line) { if (strstr($line,$key)){ //look for $key in each line fwrite($f,$newline."\n"); //insert data before line with key } fwrite($f,$line); //place $line back in file } 

Таким образом, сначала вы будете записывать новые данные, а затем исходные данные.