Zeilenumbruch in Textarea

  • Hallo, ich habe ein Problem:

    Ich habe eine .log Datei, die in einem Textfeld ausgelesen werden soll.

    In dieser .log Datei sind jedoch auch Zeilenumbrüche drinnen.

    Wie schaffe ich es jetzt, das die Zeilenumbrüche auch in dem Textfeld entstehen?


    kann man ja leider nicht nutzen.

  • Falls du die .log-Datei einliest und \n zu
    umwandelst:

    Code
    $textareatext = str_replace(array('
    ','
    '),"\n",$textareatext);

    also in textareas machst du umbrüche indem du ein \n an die jeweiligen Stellen setzt.

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • PHP
    <form action="" method="post">
    <textarea name='area' cols='150' rows='50'>
    <?php
       echo file_get_contents("deine.log");
    ?>
    </textarea>
    </form>
  • textarea zeigt ja ganz normale Zeilenumbrüche an.
    Die bekommst du in PHP manuell mit "\n".
    Da in den Dateien jedoch schon \n-s drinstehen, muss eben einfach nur die Datei ausgegeben werden.
    Statt Bandits Version geht auch einfach:

    PHP
    <form action="" method="post">
    <textarea name='area' cols='150' rows='50'>
    <?php
       readfile("deine.log");
    ?>
    </textarea>
    </form>

    Und merk dir für manuelle Umbrüche, die nicht
    sind:

    Code
    echo "Ich stehe vor einem Umbruch\nDies ist die zweite Zeile\nund dies die dritte";
  • Vielen Dank, klappt 1a.

    Nun habe ich noch ein Problem:

    Also ich möchte eine log Datei anlegen, die dann in einem Textarea ausgelesen wird und die man dann wieder und wieder bearbeiten kann.

    In der absend Datei möchte ich dann zuerst die log Datei löschen und anschießend direkt wieder neu anlegen und mit dem neuen text füllen.

    Nur ich bekomme es nicht hin, das die Datei gelöscht und wieder neu angelegt wird:

    Code
    echo unlink("db/gb/eintrag/eintrag (".$userdata['user_id'].").log");
    if(!file_exists("db/uebermich/eintrag/eintrag ($id).log"))
    {
    
    
    }
    else
    {
    $beitraege = @file("db/uebermich/eintrag/eintrag (".$userdata['user_id'].").log");
    }
  • Wieso erst löschen? Mit fopen("dateiname", "w"); wird der inhalt sowieso zerschossen.

  • Vielen Dank, das klappt soweit ganz gut.

    Nun wieder ein problem:
    ich bastel an einer Reloadsperre mit .log Dateien.

    Wenn man zum ersten mal die Seite öffnet, soll eine datei in einen ordner erstellt werden (Jahrestag_id.log, srich 154_2.log)

    Öffnet man nochmal die Seite, wird abgefragt ob die Datei 154_2.log existiert.
    Wenn ja kommt halt eine Fehlermeldung, das man erst am nächsten tag wieder die Seite aufrufen kann, ansonsten wird eine Aktion durchgeführt und die .log Datei erstellt.

    Das ganze sieht bei mir wie folgt aus:

    if(!file_exists("reload/".$userdata['user_id']."_".date('z').".log"))
    {
    echo ("Du darfst erst morgen wieder diese Aktion durchführen");
    }
    else
    {fopen("reload/".$userdata['user_id']."_".date('z').".log", "w");
    echo ("Erfolgreich");
    }

    Klappt aber leider nicht, die Datei wird leider nicht erstellt (am Server kanns nicht liegen)

  • gib das ! weg ;)
    Er macht dir grad immer genau das falsche

    Code
    if(!file_exists("reload/".$userdata['user_id']."_".date('z').".log"))

    Something big is coming. And there will be pirates and ninjas and unicorns...