如下代码,执行时会直接将svn中的特定文件的最后一个日志输出出来,曾尝试ob_start()和ob_get_contents(),依然获取不到执行返回的值。请教各位如何将执行的结果输出到一个变量中?
$stream = expect_popen("svn log https://svn.intra.abc.com/index.php --limit 1 --username=$svnusr");$cases = array (
array (0 => "Password for '$svnusr':", 1 => PASSWORD),
array (0 => "yes/no)?", 1 => YESNO),
array (0 => "(p)ermanently?", 1 =>ISACCEPT),
);while(true) {
switch(expect_expectl($stream, $cases, $match)) {
case ISACCEPT:
fwrite($stream, "t\n");
break; case PASSWORD:
fwrite ($stream, "$svnpwd\n");
break; case YESNO:
fwrite ($stream, "yes\n");
break; case EXP_TIMEOUT:
case EXP_EOF:
break 2; default:
die ("Error has occurred!\n");
}
}
$stream = expect_popen("svn log https://svn.intra.abc.com/index.php --limit 1 --username=$svnusr");$cases = array (
array (0 => "Password for '$svnusr':", 1 => PASSWORD),
array (0 => "yes/no)?", 1 => YESNO),
array (0 => "(p)ermanently?", 1 =>ISACCEPT),
);while(true) {
switch(expect_expectl($stream, $cases, $match)) {
case ISACCEPT:
fwrite($stream, "t\n");
break; case PASSWORD:
fwrite ($stream, "$svnpwd\n");
break; case YESNO:
fwrite ($stream, "yes\n");
break; case EXP_TIMEOUT:
case EXP_EOF:
break 2; default:
die ("Error has occurred!\n");
}
}
$stream = expect_popen("svn log https://svn.intra.abc.com/index.php --limit 1 --username=$svnusr");$cases = array (
array (0 => "Password for '$svnusr':", 1 => PASSWORD),
array (0 => "yes/no)?", 1 => YESNO),
array (0 => "(p)ermanently?", 1 =>ISACCEPT),
array (0 => "[.\n]*-*", 1 => FINISH)
);while(true) {
switch(expect_expectl($stream, $cases, $match)) {
case ISACCEPT:
fwrite($stream, "t\n");
break; case PASSWORD:
fwrite ($stream, "$svnpwd\n");
break; case YESNO:
fwrite ($stream, "yes\n");
break; case FINISH:
$return = $match[0];
case EXP_TIMEOUT:
case EXP_EOF:
break 2; default:
die ("Error has occurred!\n");
}
}