$fp=fopen("./_new/".$file."","a+");
foreach ($array AS $nr => $zeile)
{
if (in_array($nr, $keys))
{
fwrite($fp,"...;\r\n");
} else {
fwrite($fp,$zeile."\r\n");
}
}
fclose($fp);
>
> Es werden (bei if==true) die neue und die alte Zeile in die Datei geschrieben.
> ich wollte die zeile aber austauschen.
Hallo
> Dirk
Dein Posting gibt Rätsel auf.
Ich weiß nicht, was in $array und $keys stehen soll und ob der Handler $fp auf eine noch nicht vorhandene Datei geht.
Ich nehme an, Deine alten Daten liegen in $array, die neuen sollen in die Datei, die mit dem Handler $fp vorbereitet wird, geschrieben werden. In $keys stehen die Indizes, die gelöscht werden sollen?!? Warum dann drei Punkte in die Zieldatei schreiben?
Ich würde das so machen:
- Datei in Array lesen (file()).
- Datei löschen.
- Mittels array\_splice Wert aus Array löschen anhand der Zeilennummer
- Array in Datei schreiben.
~~~php
$alte_daten = file($file);
unlink($file);
array_splice($alte_daten, $del_zeile, 1);
// array schreiben, fopen, fputs, bla
Cheers,
Baba