原谅我,我不是程序员。
我试图在PHP页面上包含日志文件的最后几行,每行读取后有两个换行符。使用其他问题的答案,我想出了以下内容:
$file = "error.log";
foreach(file($file) as $line) {
echo -e $line. "\n\n";
}
当我使用php file.php
在命令行上执行此操作时,它会正确显示换行符,但是,在网页上,它会忽略换行符并打印脏输出。
我尝试使用echo -e
代替echo
,但这甚至不会显示脏输出,而是会抛出错误:
PHP Parse error: syntax error, unexpected '$line' (T_VARIABLE), expecting ',' or ';' in /var/www/err.php on line 12
我假设在foreach函数中不允许echo -e
?我做错了什么,我怎样才能达到预期的效果呢?
答案 0 :(得分:4)
echo
与linux中的echo
命令行不同。你不能像PHP一样在PHP中传递参数。
尝试:
echo nl2br($line . PHP_EOL);
或者,如果您只关心浏览器
echo $line . "<br>";