显示php shell脚本不在一行中

时间:2013-06-09 08:08:30

标签: php

我有一个连接到unix服务器的php脚本,并运行一个带有脚本来自html表单的文件的shell脚本。 当我在cli中运行它时,输出是正常的,但是当通过web表单运行时,输出是在一个acuumultive行

脚本:

    <?php


$alarm = $_POST["fname"];

require_once "PHPTelnet.php";

$telnet = new PHPTelnet();

 // if the first argument to Connect is blank,
// PHPTelnet will connect to the local host via 127.0.0.1
$result = $telnet->Connect('host','user','pass');

if ($result == 0) {
$telnet->DoCommand('/home/scripts/find_alarm.sh', $result);
// NOTE: $result may contain newlines
echo "<pre>";
echo $result;
//ob_flush();
echo "</pre>";
$telnet->DoCommand("$alarm", $result);
echo "<pre>";
echo $result;
echo "</pre>";
sleep(10);
$telnet->DoCommand('exit', $result);
echo $result;
// say Disconnect(0); to break the connection without explicitly logging out
//$telnet->Disconnect();
}
?>

1 个答案:

答案 0 :(得分:1)

如果你使用的是这个: http://www.geckotribe.com/php-telnet/ 然后我会停止使用它或修改它,你得到的结果是通过这个正则表达式: DoCommand()中的preg_replace("/^.*?\n(.*)\n[^\n]*$/","$1",$r);。删除新行。为什么,我不能说。