我正在尝试修复我的.php文件,但我发现了一些问题..
我需要使用echo或print函数从我的脚本接收输出,但回显结果显示未完成。
这是我的.php:
<?php
set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');
require_once "PHPTelnet.php";
$SUBSCRIBER = $_POST["SUBSCRIBER"];
$COUNT = $_POST["COUNT"];
if ($SUBSCRIBER == "HOME")
{
echo "It's HOME<br>";
if ($COUNT=="ACTIVE_FLOW")
{
echo "Value is ACTIVE_FLOW";
$script = "exec cf2:/scripts/active_flow_count.cfg";
}
}
echo "<pre>";
echo "<pre>";
我的回音输出是:
It's HOME
Value is ACTIVE_FLOW
exec cf2:/scripts/active_flow_count.cfg
=====================================================
Application-Assurance flow record search, Version 1.0
Search Start Time: "12/12/2012 22:23:08" (UTC)
Search Criteria:
group[:partition]: 1:1
aa-sub: 1/1/1:302 (sap)
protocol name: none specified
application name: none specified
app-group name: none specified
flow-status: active
start-flowId: none specified
classified: none specified
server-ip: none specified
server-port: none specified
client-ip: none specified
bytes-tx: none specified
flow-duration: none specified
max-count: none specified
search-type: default
=====================================================
FlowId Init Src-ip Dst-ip Ip-prot Src-prt Dst-prt Protocol Application Pkts-tx Bytes-tx Pkts-disc Bytes-disc Time-ofp(UTC) Time-olp(UTC)
2107678 no 200.141.223.79 10.101.75.199 tcp 57238 1356 "ftp_data" "FTP" 687100 1026970850 0 0 "12/12/2012 21:00:46" "12/12/2012 22:23:09"
它应该包含比这更多的行。
当他们看到“12/12/2012 22:23:09”双引号时,是否有可能回复停止?
答案 0 :(得分:0)
如果您的意思是在确切的日期和时间出现在您可以做的某个地方时回显“停止”这个词
if(preg_match("/\b\"12\/12\/2012 22:23:09\"\b/i")==true)
{
echo "stop"
}
答案 1 :(得分:0)
您没有显示脚本的重要部分。您需要做的是在显示输出之前处理输出,这意味着将其加载到字符串中而不是直接echo(),或者使用输出缓冲区来捕获echo()的ed内容。然后你想找到“12/12/2012 22:23:09”的位置,并使用substr来获取它和它之前的字符串的内容。请注意,使用正则表达式找到位置时,下面的代码会更好,但这是一个示例,说明它是如何工作的。
这将是这样的:
<?php
//....
ob_start();
if ($SUBSCRIBER == "HOME")
{
echo "It's HOME<br>";
if ($COUNT=="ACTIVE_FLOW")
{
echo "Value is ACTIVE_FLOW";
$script = "exec cf2:/scripts/active_flow_count.cfg";
}
}
$out = ob_get_contents();
ob_end_clean();
// Should use requex but this will work
// Find the pos of "Start Time:" then add 22 for the chars in '"xx/xx/xxxx xx:xx:xx"'
$pos = strpos($out, "Start Time:")+22;
echo substr($out, 0, $pos);
//....
?>