Auge: Zeilenumbruch bei Eintrag in *.txt

Hallo

Ich will Termine von einem Formular in eine Textdatenbank überführen.

----schnipp----
$zeile = array("$mtag.$monat.",$wtag,$typ,$preis,$start,$termin1);
$zeile = join("|",$zeile);

//So setze ich die Zeile zusammen.

if(!file_exists($datei_an))
{
$da = fopen($datei_an,"w");
flock($da,2);
fputs($da,$zeile);
flock($da,3);
fclose ($da);
}
else
{
$db = fopen($datei_an,"a+");
flock($db,2);
fputs($db,$zeile);
flock($db,3);
fclose ($db);
}

//Eintrag in die Textdatei.
----schnapp----

Problem dabei, alle Einträge werden in eine Zeile geschrieben.
Wie krieg ich es hin, daß jeder Eintrag in eine eigene Zeile kommt?
<gruebel>Beim Array hinten ein \n ranhängen?</gruebel>

Tschüß, Auge

  1. Hi,

    <gruebel>Beim Array hinten ein \n ranhängen?</gruebel>

    ob's im Array ist, ist egal. Hauptsache, Du schreibst es in die Datei.

    Cheatah

  2. Hallo,

    mich würde interessieren, was fputs() dazu sagt, wenn ein Element des Arrays leer ist. Normalerweise rutscht dann alles zusammen, oder?

    Solltest Du bei neiner Textdatenbank nicht auch einen Feldtrenner vorsehen? Da bin ich jetzt aber wirklich unsicher geworden.

    Gruß

    Tom

    1. Hallo zurück

      Solltest Du bei neiner Textdatenbank nicht auch einen Feldtrenner vorsehen? Da bin ich jetzt aber wirklich unsicher geworden.

      $zeile = array("$mtag.$monat.",$wtag,$typ,$preis,$start,$termin1);
      $zeile = join("|",$zeile);

      ^^^
                      reicht das?

      $db = fopen($datei_an,"a+");
      flock($db,2);
      fputs($db,$zeile);
      flock($db,3);
      fclose ($db);

      Die Frage war, was mach ich falsch, daß in der Textdatei
      von Eintrag zu Eintrag kein Zeilenumbruch erfolgt.
      Ich sitz da irgendwie mit'm Brett vorm Kopf da.

      Tschüß, Auge

      1. Hallo

        Ich sitz da irgendwie mit'm Brett vorm Kopf da.

        Da ist mir doch gestern Abend einer mit 'nem Kuhfuß beigesprungen.
        Das Brett ist ab, hier nun meine Lösung des Problems (Zeile 3 & 4):

        $zeile = array("$mtag.$monat.",$wtag,$typ,$preis,$start,$termin1);
        $zeile = join("|",$zeile);
        $zeile = array($zeile,"\n");
        $zeile = join("",$zeile);

        Nachfrage: Denk' ich da vielleicht viel zu kompliziert?
        Gibt's eine einfachere Lösung?

        Tschüß, Auge