Imagine ich eine TXT-Datei (some.txt) mit den folgenden Inhalt haben:PHP: Einfügen von Inhalten zwischen bestimmten Zeile einer Datei?
data of first line
data of next line
#start-marker
data of next line
#end-marker
data of next line
Und ich will ein paar Zeilen nur nach # Start-Marker
Zeit schreiben, ich habe dies:
$fp = fopen('some.txt','r+');
$insertPos=0;
while (!feof($fp)) {
$line=fgets($fp);
if (strpos($line, '#start-marker')!==false) {
$insertPos=ftell($fp);
}
fseek($fp,$insertPos);
fwrite($fp,'Data to be written');
fclose($fp);
Aber das Problem ist:
data of first line
data of next line
#start-marker
Data to be written
Alle Linien sind di sappear nach neuer eingefügter Zeile.
Wie geht das?
Erwarteter Ausgang:
data of first line
data of next line
#start-marker
Data to be written
data of next line
#end-marker
data of next line
Siehe https://stackoverflow.com/a/6472446/689579 – Sean