Zeile aus Textdatei löschen...Leerzeile bleibt

  • Hallo zusammen,

    ich habe folgendes Problem. ich habe in einer textdatei daten stehen. immer eine zeile ist ein datensatz. ich hänge nun hinten eine zeile dran, ändere daten einer zeile oder lösche zeilen mitten drin. das funktioniert auch prima.

    wenn ich nun den letzten datensatz der datei, also die letzte zeile lösche, bleibt am ende der textdatei eine leerzeile stehen. wenn ich dann das nächste mal die daei auslese und die datensätze ausgebe, weird ein leerer datensatz angezeigt, eben wegen der leerzeile.
    nun meine frage.....Wie kann ich die Leerzeile am Ende entfernen oder verhindern?

    vielleicht noch als hinweis....wenn ich einen neuen datensatz, also eine neue zeile in die datei einfüge, mache ich das wie folgt....

    wäre toll, wenn mir jemand weiterhelfen könnte.

    Gruß
    Jens

  • while($key < $count)
    {
    $ordner= $arr['ordner'][$key];
    $begin= $arr['begind'][$key];
    $end= $arr['endd'][$key];
    $string = $ordner."|".$begin."|".$end;
    fputs($file, $string, strlen($string));
    $key++;
    }

    ersetzen durch:

    ich würde die ganze strucktur umsetzen, da sie so sinnlos ist...


    aufbau den ich empfehle: $arr[]['order'] z.B.

    dann geht es einfach so

    foreach($arr AS $row)
    {
    if (trim($row['ordner'])!='')
    {
    $string = "\r\n".$row['ordner'].'|'.$row['begind'].'|'.$row['endd'];
    fputs($file, $string, strlen($string));
    }
    }

    damit vermeidest du leere zeilen am ende und hast einen sauberen code.