2016-11-28 3 views
0

Простите меня, я не программист.echo -e содержимое файла с помощью foreach

Я пытаюсь включить последние строки файла журнала на странице 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

Я предполагаю, что echo -e не допускается в пределах функция foreach? Что я делаю неправильно и как я могу достичь желаемых результатов?

+0

что вы имеете до '$ файла =«error.log''? –

+0

@VasilShaddix Открывающий тег (' n3rve

+0

у вас есть что-то до 'PHP Parse error: синтаксическая ошибка, неожиданная '$ line' (T_VARIABLE), ожидающая ',' или ';' в /var/www/err.php в строке 12', который не подходит интерпретатору php. –

ответ

4

echo в PHP отличается от командной строки echo в Linux. Вы не можете передавать аргументы для эха в PHP.

попробовать:

echo nl2br($line . PHP_EOL); 

Или, если вы заботитесь только о браузере

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

Спасибо большое, это исправлено! :) – n3rve