Sven: Daten in neue Zeile schreiben

Hi,

ich möchte mit folgendem Code alle per Formular gesendeten Daten in einen Datei schreiben:

foreach ($HTTP_POST_VARS as $k=>$elem)
   {
  $inhalt = "$k: $elem ";
  $daten = "inhalt.txt";
  $fp = fopen($daten,"a+");     flock($fp,2);       fputs($fp,$inhalt);
  flock($fp,3);
  fclose($fp);
   }

Nur werden alle daten in einer "wurscht" in die Datei geschrieben: name: Franz plz: 12345 ....

ich hätte das aber gerne jeweils in einer neuen Zeile:
name: Franz
plz: 12345
....

wie bekomme ich das hin? ich müsste doch irgendwie den DateiPointer in die nächste zeile bekommen?

Danke für die Hilfe,

Sven

  1. Halihallo Sven

    $fp = fopen($daten,"a+");

    ein "a" würde reichen, es sei denn du möchtest die Datei schreiben _und_ lesen.

    Nur werden alle daten in einer "wurscht" in die Datei geschrieben: name: Franz plz: 12345 ....
    ich hätte das aber gerne jeweils in einer neuen Zeile:
    name: Franz
    plz: 12345
    ....

    Na, dann häng eine newline "\n" an $inhalt an: $inhalt = "$k: $elem\n"

    wie bekomme ich das hin? ich müsste doch irgendwie den DateiPointer in die nächste zeile bekommen?

    Nein, denn bei append sind nachfolgende Zeilen noch gar nicht existent. Diese fügst _du_
    ja erst an.

    Viele Grüsse

    Philipp

    --
    RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
    Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
    1. danke für die verdammt schnelle hilfe! schönes Wochenende noch,

      gruß Sven

  2. Hello,

    $fp = fopen($daten,"a+");

    flock($fp,2); 
         fputs($fp,$inhalt);

    flock($fp,3);
      fclose($fp);
       }

    Wenn Du flock auf diese Weise benutzt, hat es überhaupt keinen Nutzen.
    flock() funktioniert als Empfehlung für das Programm, folglich muss man das Ergebnis der Operation auch abfragen.

    $fp = fopen($daten,"a+");
    if (flock($fp,2))
    {
      fputs($fp,$inhalt);
      flock($fp,3);
    }
    else
    {
      fehlermeldung("Datei $daten ist im Moment gesperrt");
    }

    fclose($fp);
    }