如何包装PHP System()或设置固定宽度

如何包装PHP System()或设置固定宽度,php,Php,这个小问题已经让我忙了好几天了 我有一个执行命令的PHP system()命令,如以下示例: echo '<p>'; system (escapeshellcmd("uname -a")); echo '</p>'; 回声“”; 系统(escapeshellcmd(“uname-a”); 回声“”; 输出被打印到PHP页面,但我想限制或换行打印行的宽度,并防止命令打印页面边界以外的结果(宽度为500px) 我必须使用这个系统(escapeschellcmd());因此

这个小问题已经让我忙了好几天了

我有一个执行命令的PHP system()命令,如以下示例:

echo '<p>';
system (escapeshellcmd("uname -a"));
echo '</p>';
回声“”; 系统(escapeshellcmd(“uname-a”); 回声“

”; 输出被打印到PHP页面,但我想限制或换行打印行的宽度,并防止命令打印页面边界以外的结果(宽度为500px)

我必须使用这个系统(escapeschellcmd());因此,我正在寻找一个包含此命令的解决方案

我甚至找不到解决问题的线索


Peter

根据的手动输入,您可以传递一个变量作为命令的第二个参数,以将输出保存到该变量。像这样:

system (escapeshellcmd("uname -a"), $string);
然后,您可以在空闲时使用生成的字符串执行任何操作

更新:这并不完全正确。第二个参数仅仅是返回值。命令本身只返回控制台输出的最后一行


如果需要原始命令行输出(全部),则必须使用而不是system()。

system命令还用于几个shell命令,如:system(escapeshellcmd(“dig$option$host”);并返回整个结果(多行)。我将查看info passthru()/
ob_start();passthru((escapeshellcmd(“dig$option$host”),$result)$content_grapped=ob_get_contents();ob_end_clean();回显“”,$content_“”这就是我走了多远。这段代码仍然提供与系统相同的输出。行以全长打印,不遵守200px限制。
ob_start();passthru((escapeshellcmd(“dig$option@$nsr$host$type”),$result)$content_grapped=ob_get_contents()$content\u-grapped\u-wrapped=wordwrap($content\u-grapped,80,“
\n”);ob_end_clean();echo“”,$content\u grapped\u wrapped'这是给了我一个足够接近的结果。感谢您指出passthru命令@mkumpan@user2396546不用谢。不过,我确实想知道,默认情况下它是否会将输出打印到stdout?我本来希望它作为一个变量返回,稍后您可以格式化它。此外,css还可以帮助您正确包装数据。