【发布时间】:2023-03-14 18:41:02
【问题描述】:
在 php 中,我希望显示命令输出的结果,就像在控制台上显示的那样。为了简化这个例子,我们将使用 ifconfig。问题是 php 将所有行一起运行而不是正确显示。我曾尝试使用 shell_exec()、passthru() 和 system(),但它们都显示相同。
使用这两个问题作为参考,我认为 passthru() 将是答案。
PHP - exec() vs system() vs passthru()
http://www.sitepoint.com/forums/showthread.php?525977-multiline-result-in-exec
这里是php代码:
<?php
$output = passthru("ifconfig");
echo $output;
?>
【问题讨论】:
-
尝试添加
header('Content-Type: text/plain');因为你可能没有告诉它,你的浏览器会认为这是HTML。在 HTML 中,\r或\n不会呈现新行。 -
这是您的浏览器在做浏览器所做的事情。例如;忽略空白。试试
echo '<pre>'. $output .'</pre>'; -
稍微修改一下,浏览器不会认为是text/html,这显然是PHP的默认值。
标签: php