Problem mit Zeilenumbruch beim schreiben in eine .txt Datei

  • Zuerst mein code:

    PHP
    $message = "Fehler: ".mysql_error()." ".date('d.m.Y')." - ".date('H:i:s')." \n";
    file_put_contents( "MySQLDebug.log" , $message, FILE_APPEND);


    Wenn ich die .log Datei im Chrome(Browser) öffne, sieht alles aus wie es soll. Alles schön in Zeilen.
    Wenn ich die Datei aber im Texteditor öffne steht alles in einer Zeile. Wo ist mein Fehler?
    "\n" ist doch verantwortlich für Zeilenumbrüche?


    Vielen Dank im voraus

  • also Kollege :D


    ein " \n" als Zeilenumbruch wird meines Wissens nach nur beim E-Mail-Versand oder echo ausgaben verwendet (vllt. auch noch bei anderen Sachen)
    wenn du das in eine LOG-Datei schreibst, ist das genau das selbe, als wenn du den Windows Editor öffnest und n " \n" in ne Textdatei schreibst
    da bleibt dann das " \n" eben so


    außerdem kommt es auch darauf an, mit was du es ausgibst
    ein Browser ist nicht dafür ausgelegt ein " \n" als zeilenumbruch darzustellen, wenn ich jetz ein kleines Programm schreibe, was das machst, dann geht es, aber du willst es ja im Browser ausgeben lassen
    da hätte ich 2 einfache Lösungen für dich:


    • du schreibst das ganze in ne HTML-Datei und verwendest eben "<br>"
    • du schreibst den HTML-Code in die Datenbank und lässt den in einer PHP-Datei ausführen (EDIT: umlaute bitte beachten :thumbup: )


    (mir persönlich gefällt 2. besser. ich arbeite eben gerne mit Datenbanken ^^)

  • In der .log Datei stehen keine "\n". Es ist wie als währen die garnicht da. Wohingegen wenn ich die .log im Browser öffne die Zeilenumbrüche funktionieren.
    Inwiefern ist es eine Lösung für mein Problem?
    Soll ich von etwas mich distanzieren nur weil es nicht sofort klappt?
    (Ich lehne deine zwei Varianten ab.....)

  • omg, aba egal ^^


    öffnes ma mit nen HTML-Editor
    notepad.exe unterstützt nich so wirklich zweilenumbrüche (jedenfalls nicht die, die php generiert, sondern nur CR+LF (müsste so heißen, bin mir aba nich ganz sicher))

  • das war eines der ersten sachen die ich in den php videos gesehen hab:

    PHP
    $message = "Fehler: ".mysql_error()." ".date('d.m.Y')." - ".date('H:i:s');
    $message .= "\r\n"; // weiss den grund bis heute nicht, aber muss wohl "extra" andgehängt werden
    file_put_contents( "MySQLDebug.log" , $message, FILE_APPEND);

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!