如何在浏览器中完全按照终端显示系统命令的输出

时间:2015-03-18 08:32:26

标签: php blast

我使用php shell_exec运行BLAST命令(biologcal序列比对工具)并在浏览器中输出结果。但是,当我在终端中运行相同的命令时,我无法格式化与显示的结果相同的结果。我尝试使用passthru()和exec()等方法。它们都不起作用!在我的例子中,输出格式很重要,因为小空间可以产生错误(下面给出一部分)。任何人都可以告诉我如何在浏览器中显示结果与命令终端中的结果完全相同。

$cmd = "$blast -query /var/www/html/kim/blast/testing.txt -db /var/www/html/kim/blast/$db";
$result =shell_exec($cmd);
print_r ($result);

我的部分输出看起来像,

Query  707   TCAGACTTGAA  766
             |||||||||||
Sbjct  3632  TCAGACTTGAA  3691

1 个答案:

答案 0 :(得分:3)

为了保持格式相同,包括空格等,您应该使用<pre> html元素。一个例子:

echo '<pre>';
echo $result;
echo '</pre>';

回应原始结果。使用print_rvar_dump会导致PHP格式化。上面的示例是您可以实现的最原始格式,只要您保持结果不变。

使用CSS,您可以设置<pre>的样式。但请确保使用MONOSPACE字体,以便保留shell格式。