sven: Zeilenumbruch

Hallo,

wie kann ich ein Zeilenumbruch in einer TXT File machen? Habe es so probiert:

<html>
<head>
<title> Serverliste </title>
</head>
<body bgcolor="">
<?
$Datei = fOpen('serverliste.txt', 'a');
$servername = $servername."/".$serverip;
fPuts($Datei, $servername."\n");
fClose($Datei);

$Datei = fOpen('serverliste.txt', 'r');
fpassthru($Datei);
?>
</html>

Aber mit \n geht es nicht mit \n\r auch nicht, Und auch mit \r\n gehts auch nicht. und mit \r auch nicht. Weis jemand ne Lösung? BITTE ist dringend!!

  1. hi,

    wie kann ich ein Zeilenumbruch in einer TXT File machen? Habe es so probiert:

    fPuts($Datei, $servername."\n");

    das sollte eigentlich einen zeilenumbruch am ende anhängen.

    $Datei = fOpen('serverliste.txt', 'r');
    fpassthru($Datei);

    aha, wir lassen uns also den text anschliessend sofort wieder innerhalb einer _html_-seite im browser anzeigen?
    *ätsch*, reingefallen!

    <sarc>
    da du ja deine hausaufgaben, was html angeht, gemacht hast, weisst du auch, dass ein zeilenumbruch im html-quelltext keinen sichtbaren zeilenumbruch bei der ausgabe bewirkt.
    aber bei den hausaufgaben hast du ja auch gelernt, dass du dafür in html <br> benutzt ...
    </sarc>

    na, fällt der groschen?

    du musst die zeilenumbrüche aus der textdatei durch <br> ersetzen, bevor du sie im html-quelltext ausgibst.
    dazu gibt es in php die funktion nl2br() (genaugenommen ersetzt sie nicht, sondern fügt <br> hinzu, aber egal).

    allerdings musst du dafür den inhalt der textdatei erst mal in einem string stehen haben, das geht mit fpassthru m.W. nicht.
    wähle also eine andere möglichkeit, die textdatei einzulesen.

    gruss,
    wahsaga

    1. ÄHHHHHH

      Ich benutze keine HTML Seite!!!!
      Ich benutze eine TXT Datei, und ich will auch nichts umwandeln.
      <br> geht nicht bei einer TXT Datei.

      MFG
      Sven!

      1. hi,

        Ich benutze keine HTML Seite!!!!

        dann sag mir bitte, was das stattdessen ist, was du in deinem ersten posting hingeschrieben hast, worin du dein php-script eingebettet hast ...?

        <html>
        <head>
        <title> Serverliste </title>
        </head>
        <body bgcolor="">
        <? [php-code ...]
        ?>
        </html>

        wenn _das_ keine html-seite sein soll, dann weiss ich es nicht.

        gruss,
        wahsaga

        1. Hallo zusammen,

          Mal noch etwas Spekulation meinerseits:

          <html>
          <!-- [SNIP] -->
          </html>
          wenn _das_ keine html-seite sein soll, dann weiss ich es nicht.

          Ich vermute, dass sven sein Zeugs in eine *.TXT-Datei speichert
          und deshalb sagt, es sei eine TEXT-Datei und keine HTML-Datei.

          Wenn Sven dann diese Datei mit dem MS IE anschaut (selbst wenn
          sie vom Server kommt und dieser sie als text/plain schickt),
          dann interpretiert der MS IE das HTML.
          MS IE ist eben kaputt.

          @Sven: Guck doch mal in Ansicht->Quelltext, dann siehst Du,
          dass die Zeilenumbrueche sehr wohl dort sind.
          Oder verwende einen richtigen Browser.

          Und ueberhaupt sollte Dir aufgefallen sein, dass der
          MS IE nur das zwischen <body> und </body> anzeigt,
          aber nicht den ganzen HTML-Quelltext...

          <pre> ... </pre> rund um den Text wuerden zwar das scheinbare
          "Problem" beseitigen, d.h. die Zeilenumbrueche wuerden jetzt
          angezeigt, aber das waere nur Symptombekaempfung.
          Das eigentliche Problem ist der MS IE.

          Gruesse,

          Thomas

          P.S. Meine Seite zum Thema "Zeilenumbrueche":
          http://www.tiptom.ch/homepage/faq.html?q=zeilenumbruch

          1. hi,

            Ich vermute, dass sven sein Zeugs in eine *.TXT-Datei speichert
            und deshalb sagt, es sei eine TEXT-Datei und keine HTML-Datei.

            ich war eher davon ausgegangen, dass er sich den text ohne weitere bearbeitung als html anzeigen lässt.

            dafür spricht sein script im eingangsposting:
            er schreibt die datei per php, und liest sie gleich danach wieder mit fpassthru aus.
            eingerahmt wird das script in <html>, <body> & co., und der defaultmässige mime type für die endung .php, unter der er die datei ja höchstwahrscheinlich gespeichert hat, um das script ausführen zu lassen, ist idR. auch text/html.

            er lässt sich also den inhalt aus seiner textdatei in einer html-seite anzeigen - die ASCII-zeilenumbrüche haben demnach nicht den gewünschten effekt.

            gruss,
            wahsaga

            1. Hallo,

              er lässt sich also den inhalt aus seiner textdatei in einer html-seite anzeigen - die ASCII-zeilenumbrüche haben demnach nicht den gewünschten effekt.

              Kann natuerlich auch sein.
              _Dann_ waere ein <pre> vor und ein </pre> nach dem
              Einbinden der externen Datei, sowie ein htmlspecialchars(),
              sicher am sinnvollsten.
              Oder statt <pre> meinetwegen noch ein nl2br().

              Aber das alles hast Du ja schon laengst vorgeschlagen...

              Mal schauen, ob sich Sven nochmal meldet, oder ob er eine
              "Eintagsfliege" war...

              Gruesse,

              Thomas