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