DrChef: fwrite

hiho
ich hab mal ne frage
bei der function fwrite wird ja ien string in eine datei geschrieben aber ich will das der zeiger dann in die nächste zeile springt weil wenn cih danach nochmal fwrite mach zb iner shcleife dann macht der alles hintereinander aber ich wiss ine neue zeile
kann mir jemadn helfen??

THX

  1. Moin Moin !

    Ich schätze, Deinem Posting fehlen so um die 10 Satzzeichen (Punkt, Komma, vielleicht auch mal ein Semikolon). Und diverse Male hätte die Shift-Taste auch mal einen Anschlag verkraftet.

    Ich nörgel' nicht rum, weil Dein Posting nicht Duden-Konform ist [ hey! das wäre noch eine Idee: http://validator.duden.de ;-) ], das geht mir ziemlich am Heck vorbei. Dein Posting ist einfach sauschwer zu lesen, weil man sich sämtliche Satzzeichen dazu denken muß.

    http://www.lugbz.org/documents/smart-questions_de.html#id2753058

    Alexander

    1. Guten Morgen,

      Ich nörgel' nicht rum, weil Dein Posting nicht Duden-Konform ist [ hey! das wäre noch eine Idee: http://validator.duden.de ;-) ], das geht mir ziemlich am Heck vorbei. Dein Posting ist einfach sauschwer zu lesen, weil man sich sämtliche Satzzeichen dazu denken muß.

      Ich vermute, dass man dudenkonform klein und zusammen schreibt, ist ja irgendwie ein Adjektiv, oder?  *scnr*

      fwrite() ist eine byteorientierte Schreibfunktion. Die kennt keine Zeilen. Es wird immer die gesamte Variable so weggeschrieben, wie sie ist. Man sollte sich also klar sein, was man wegschreiben[tm] will. Hat man vorher Daten mit $zeilen = file("datei.txt") aus einer Textdatei eingelesen, dann stehen in dem Array die Textzeilen UND deren Zeilenumbruchzeichen zur Verfügung. Wenn man dieses Array jetzt mit implode() zu einer einzigen Variable zusammenführt, dann sind die Zeilenumbruchzeichen immer noch vorhanden.

      Wenn man aber einer ganz "normalen" String-Variable einen Text zuweist $text="Was soll denn diese lange Erklärung?", dann hat dieser Satz kein Zeilenabschlußzeichen. Das müsste men dann beim Wegschreiben zusätzlich anfügen

      $CRLF = chr(13).chr(10);
      ...
      $ok = fwrite($handle,$text.$CRLF,strlen($text)+2);

      $ok ist true ->  Schreiben hat geklappt
      $handle      ->  Dateihandle, mit fopen($dateiname,$mode) besorgt
      $CRLF        ->  selbst definierte Konstante für Zeilenendezeichen
      strlen()+2   ->  weil der Text UND das Zeilenendezeichen geschrieben werden soll.

      LG

      Chris

  2. Hi,

    bei der function fwrite wird ja ien string in eine datei
    geschrieben aber ich will das der zeiger dann in die nächste
    zeile springt weil wenn [...]

    Ich würde am Ende jeder Zeile ein \n (Slash n) einfügen. Möglicherweise ein \r\n (Slash r Slash n) um Windows zu bedienen.

    Gruß NN