TXT Dateien mit Zeilenumbruch darstellen (PHP,HTML,Minecraft)?

... komplette Frage anzeigen

7 Antworten

Einen Zeilenumbruch in einer Webseite wird z.B durch den Tag <br> erzeugt. Du müsstest also hinter jeder Zeile im Logfile ein <br> einfügen dann hast du im Browser auch Zeilenumbrüche.

Alternativ kannst du das ganze Log in ein Textarea Formularfeld einfügen , dann sollten dort auch Umbrüche vorhanden sein.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von faxfaxfax
25.11.2016, 13:24

Die Idee klingt schonmal gut. Aber wie kriege ich es hin dass ich den Inhalt einer Textdatei in das Formularfeld kriege?

Mein Versuch hat nicht funktioniert

<textarea cols="35" rows="4">

echo file_get_contents("name_of_the_file.txt");

</textarea>

0

Bei den Apache-Virtualhosts "Symbolic links folgen" aktivieren.

<VirtualHost *:80>
<!-- Bla bla -->

DocumentRoot /var/www/html
<Directory />
Options FollowSymLinks <!-- Bla bla --> </Directory> </VirtualHost>

Dann einen Symlink zu der Log Datei erstellen.

ln -s /dein/pfad/zum/log.log /var/www/html/minecraft.log

Jetzt ist der Log auf *:80/minecraft.log erreichbar ohne PHP etc.
Wenn du den noch als HTML darstellen möchtest, legst du eine html-Datei an, in der ein JavaScript Code mittels AJAX diesen Log alle n Sekunden abfragt:

// Dateiname: log.html

<html>
  <!-- BLA -->
  <body>
    <p id="content"></p>
    <script>
      function requestLog(){
        var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
     if (this.readyState == 4 && this.status == 200) {
      document.getElementById("content").innerHTML = this.responseText.replace('\\n', '<br>');
      }
  };
  xhttp.open("GET", "minecraft.log", true);
  xhttp.send(); } requestLog(); // Alle 3000ms neu laden setInterval(requestLog, 3000); </script> </body> </html>

Sollte alles so klappen, konnte es natürlich nicht testen. Bei Fragen einfach melden :)

LG shilch

Antwort bewerten Vielen Dank für Deine Bewertung

Wie wärs mit folgendem?

<html>
<head>
<title>Minecraft Log</title>
</head>
<body>
<pre><?php echo htmlspecialchars(file_get_contents("/pfad/zur/logdatei.log")); ?></pre>
</body>
</html>

Z.B. als viewlog.php (oder auch index.php) in /var/www/html/ speichern und den Pfad zur Logdatei anpassen.

Antwort bewerten Vielen Dank für Deine Bewertung

Kannst du uns den Code zeigen wo du die Datei unbenennst? Oder machst du das manuell?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von faxfaxfax
25.11.2016, 13:17

#!/bin/bash

cp /home/minecraft/minecraft/logs/latest.log /var/www/html/
mv /var/www/html/latest.log /var/www/html/index.html

0

Ersetze Backslash n durch das html element br

Antwort bewerten Vielen Dank für Deine Bewertung
<?php
echo nl2br(file_get_contents('datei.log'));
?>
Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?