0

我正在尝试修复我的 .php 文件,但我发现了一些问题..

我需要使用 echo 或 print 函数从我的脚本接收到输出,但 echo 结果显示为不完整。

这是我的 .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”双引号时,是否有可能回显停止?

4

2 回答 2

0

如果你的意思是当这个确切的日期和时间出现在你可以做的某个地方时回显“停止”这个词

if(preg_match("/\b\"12\/12\/2012 22:23:09\"\b/i")==true)
{
    echo "stop"
}
于 2012-12-12T22:55:19.277 回答
0

您没有显示脚本的重要部分。您需要做的是在显示之前处理输出,这意味着将其加载到字符串中,而不是直接使用 echo() 处理它,或者使用输出缓冲区来捕获 echo() 处理的内容。然后你想找到 "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);

//....

?>
于 2012-12-12T23:08:19.127 回答