nokill: Löschen einer Zeile aus Datei

Beitrag lesen

Hi,

mein Problem ist folgendes: Ich schriebe der zeit an einem Clanwarscript in Php soweit so gut. Die Routine zum schreiben der Clanwars in eine Datei habe ich hinbekommen jetzt möcht ich, dass der Benutzer auch wieder Clanwars löschen kann soweit so gut. Mein Problem ist jetzt das ich es nicht hinbekommen, dass die Clanwars wieder richtig in die Datei reingeschreiben werden, aber ich zeige euch einfach mal den Quelltext:

clanwar_edit.php:

<? [...]

$datei = "clanwars.dat";               $cwid  = $_GET['cwid'];

switch($_GET['action'])                    {                         //Auswahl des Clanwar, der geloescht werden soll                         default:                         $Siteselect = "-= Delete clanwar =-                                        <br />                                        <br />                                        <form action="$PHP_SELF" method="get">                                             <div>                                             Clanwarid:<input type="text" name="cwid">                                                       <input type="hidden" name="action" value="get">                                             </div>                                             <div>                                                   <input type="submit" name="go" value="Go">                                                   <input type="reset" name="Reset" value="Reset">                                             </div>                                        </form>                                       ";                              break;                         case "get":                         if(file_exists($datei))                              {                                   $inh = file($datei,"r");                                   $anzahl = count($inh);                                   for($i = 0, $var = 1, $anzzeilen = 1; $i < $anzahl; $i++)                                        {                                             $eintrag     = explode("\n",$inh[$i]);                                             trim($eintrag['0']);                                             $zeile[$var] = $eintrag['0']; //lese jede Zeile in ein Array aus

$var++;                                             //alle zeilen zaehlen                                             $anzzeilen++;

echo "$anzzeilen<br>";                                        }

if ($cwid<=$anzzeilen)//hier prüfe ich ob die Zeile, in der der clanwar stehen soll existieren                                        {                                             unset($zeile[$cwid]);                                             trim($zeile);

$newfp      = fopen($datei,"w");                                             $newcontent = implode("",$zeile); // hier liest er das array in eine var aus und hier ist wohl auch der Fehler!!!!!                                             fputs($newfp,$newcontent);                                             fputs($newfp,"\n");                                             fclose($newfp);

$Siteselect = "v0.3 beta1                                                            <br />                                                            <br />                                                            <div class="success">                                                                 Clanwar deleted successfully!                                                            </div>                                                           ";                                        }                                   else                                        {                                             $Siteselect = "<div class="error_stage2">                                                                 Clanwar with clanwarid $cwid doesn't exist!                                                            </div>                                                          ";

}                              }                              break;                    }

echo $Siteselect; ?> [...]

die datei, in der die Clanwars stehen sieht in etwa so aus: 1| gegener|---|datum|---|ergebnis 2| gegener2|---|datum2|---|ergebnis2 3| gegener3|---|datum3|---|ergebnis3 4| gegener4|---|datum4|---|ergebnis4 [...]

ich hoffe ihr habt mein Problem verstanden um es nochmal zu zentrieren ich will aus einer Datei eine Zeile löschen! Sollte ihr eine andere Lösung haben um eine Zeile aus einer Datei zu löschen wäre auch darüber dankbar.

mfg nokill