我的test.php包含:
function tailShell($filepath, $lines = 1) {
ob_start();
passthru('tail -' . $lines . ' ' . escapeshellarg($filepath));
return trim(ob_get_clean());
}
$test = tailShell('som.log',3);
echo $test;
som.log包含
1
2
3
4
5
6
当我使用它时,php会打印 6 5 4 3 2 这样的文字而没有新行,如何解决这个问题?
答案 0 :(得分:0)
如果您在HTML上下文中(在浏览器中)显示它,那么这是正常的,因为HTML会折叠空白区域,包括换行符。将您的输出换行到<pre>
标记以保留换行符。
function tailShell($filepath, $lines = 1) {
ob_start();
passthru('tail -' . $lines . ' ' . escapeshellarg($filepath));
return trim(ob_get_clean());
}
$test = tailShell('som.log',3);
echo '<pre>'. $test .'</pre>';