如何将shell_exec输出到页面中?

时间:2010-10-26 22:58:44

标签: php

您好我是PHP新手,希望有人可以帮助我。

有时,执行的shell脚本的输出可能长达数百行,这些行用<BR>(在shell脚本中替换为\ n)分隔,用于格式化的html输出。

所以我需要知道如何使输出分页,我在这里看了一些其他类似的解决方案,但我不能让它们工作,因为他们做了不同的事情。

$url = $_POST["website"];
$safeurl = escapeshellarg($url);
#passthru("./check -n ".$safeurl);
$stuff=shell_exec("./webcheck -n ".$safeurl);

$webFile = ($url.'.txt');
$write = $stuff;
$fh = fopen($webFile, 'w') or die("can't open file");
fwrite($fh, $write);
fclose($fh);

$fh = fopen($webFile, "r") or die("can't open file");
$frstuff=fread($fh, filesize($webFile));
fclose($fh);
echo $frstuff;

2 个答案:

答案 0 :(得分:1)

如果您尝试使用exec而不是shell_exec,则可以将输出行作为数组而不是一个长字符串。

$output = array();
exec("./webcheck -n $safeurl", $output);

// Inspect the contents of $output
var_dump($output);

然后您可以根据需要迭代该数组($output)。

答案 1 :(得分:0)

它不是最好的解决方案,但最简单的方法是使用javascript进行分页。

尝试:http://plugins.jquery.com/project/pagination

否则,您可以插入通用数据库分页脚本并将数据库适配器更改为指向文件适配器,其中行数变为行数。

编辑:提供更好的链接