PHP回显显示 - 缺少信息

时间:2012-12-12 22:35:58

标签: php echo

我正在尝试修复我的.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”双引号时,是否有可能回复停止?

2 个答案:

答案 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);

//....

?>