2016-11-28 6 views
0

Verzeihen Sie, ich bin kein Programmierer.echo -e Inhalt der Datei abgerufen foreach

Ich versuche, die letzten Zeilen einer Protokolldatei auf einer PHP-Seite mit zwei Zeilenumbrüchen nach jeder Zeile zu lesen. Mit Antworten von anderen Fragen, ich kam mit dem folgenden:

$file = "error.log"; 

foreach(file($file) as $line) { 
     echo -e $line. "\n\n"; 
} 

Als ich dies ausführen auf der Linie Befehl php file.php wird es richtig mit den Zeilenumbrüchen angezeigt, jedoch auf einer Webseite, ignoriert es die Zeile bricht und druckt eine schmutzige Ausgabe.

Ich versuchte echo -e anstelle von echo zu verwenden, aber das stellt nicht einmal die Ausgaben verschmutzt, sondern wirft einen Fehler:

PHP Parse error: syntax error, unexpected '$line' (T_VARIABLE), expecting ',' or ';' in /var/www/err.php on line 12

Ich gehe davon aus echo -e innerhalb ist nicht erlaubt die Foreach-Funktion? Was mache ich falsch und wie kann ich die gewünschten Ergebnisse erzielen?

+0

was haben Sie vor '$ file =‚error.log''? –

+0

@VasilShaddix Das öffnende Tag (' n3rve

+0

Sie haben etwas vor 'PHP Parse Fehler: Syntaxfehler, unerwartete '$ line' (T_VARIABLE), erwartet ',' oder ';' in /var/www/err.php in Zeile 12', was der PHP-Interpreter nicht mag. –

Antwort

4

echo in PHP ist anders als die echo Befehlszeile in Linux. Sie können keine Argumente für das Echo in PHP übergeben.

Versuch:

echo nl2br($line . PHP_EOL); 

Oder wenn Sie nur über den Browser Pflege

echo $line . "<br>"; 
+1

Vielen Dank, das hat es behoben! :) – n3rve