caprese: Zeilenumbruch funktioniert nicht!

Hallo Selfforum!

Ich bin noch ein kleiner Anfänger was Php angeht.

Ich habe Xampp installiert und bis jetzt funktionierte alles super , nur die Zeilenumbrüche funktionieren nicht in Php.
Ich habe schon viele probiert, aber er will einfach keine Leerzeile/Zeilenumbruch machen:

echo "Hallo \n Josef";
echo "Hallo" ."\n" ."Josef";
echo "\n \n Josef";

Nichts von oben bewirkt auch nur einen Zeilenumbruch! Syntaxfehler sollt das ja keiner sein..
Liegt es an meinem Xampp (sonst geht aber alles..), oder gibt es vielleicht noch Alternativen zu \n ?

PS: Ich will in eine Textdatei mehrere Zahlen schreiben und jede Zahl soll aber in eine neue Zeile geschrieben werden.

mfg
Stefan

  1. Hallo!

    echo "Hallo \n Josef";
    echo "Hallo" ."\n" ."Josef";
    echo "\n \n Josef";

    Das müsste alles Leerzeilen generieren. Wie schaust du dir den output von PHP an? Mit einem Browser? Dann schau doch mal in den Quellcode im Browser.

    mfg
      frafu

    1. Hallo frafu!

      Du hast recht! Im Quelltext wird der Code richtig angezeigt! Nur auf dem Bildschirm eben nicht, was wahrscheinlich am fehlenden HTML Code liegt.

      Aber danke!
      Jetzt weiß ich nämlich , dass er es dann eh richtig in die Textdatei schreibt und ich wollt mir das nur über die echo Funktion anschauen und hab gar nicht nachgeschaut wie das mit der Textdatei ausschauen würde.

      Schönen Abend noch
      Stefan

      1. Hallo!

        Du hast recht! Im Quelltext wird der Code richtig angezeigt! Nur auf dem Bildschirm eben nicht, was wahrscheinlich am fehlenden HTML Code liegt.

        Da dein Server die Seite wahrscheinlich mit Mime Type "text/html" ausliefert, erwartet der Browser HTML Code. Und beim Interpretieren von HTML Code wird \n halt nicht als Zeilenumbruch dargestellt.
        Du kannst aber den Server auch dazu bringen deine Datei als text/plain auszuliefern, dann sollte dein Browser auch die \n korrekt darstellen.
        In PHP kannst du den Mime Type mit der Funktion header festlegen.

        mfg
          frafu

      2. Moin!

        Du hast recht! Im Quelltext wird der Code richtig angezeigt! Nur auf dem Bildschirm eben nicht, was wahrscheinlich am fehlenden HTML Code liegt.

        In HTML sind ASCII-Zeilenumbrüche ganz normale Leerzeichen, um einen echten HTML-Zeilenumbruch zu erhalten musst du den <[ref:self811;html/referenz/elemente.htm#br@title=br]>-Tag nehmen. Zum Testen wäre in deinem Fall wohl die Ausgabe als präformatierter Text hilfreich:

        <pre>[code lang=php]<?php  
        echo "Hallo \n Josef";  
        echo "Hallo" ."\n" ."Josef";  
        echo "\n \n Josef";  
        ?>
        ~~~</pre>[/code]  
          
        Oder du sendest gleich normalen Text an den Browser:  
          
        ~~~php
        header('Content-Type: text/plain');  
          
        echo "Hallo \n Josef";  
        echo "Hallo" ."\n" ."Josef";  
        echo "\n \n Josef";
        

        Viele Grüße,
        Robert