2012-12-12 3 views
0

내가 수정 나의 .PHP 파일을하려고 해요,하지만 난 어떤 문제를 발견 해요 .. 내가 에코 또는 인쇄 기능을 사용하여 내 스크립트의 출력을 받았지만, 필요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" 

이이보다 더 많은 라인을 포함해야

이 내 .PHP입니다.

"12/12/2012 22:23:09"큰 따옴표를 볼 때 멈추는 오류가 있습니까?

+0

당신이 그것을 반향 뭘 원하는거야 :

그것은이 같은 것? – DrinkJavaCodeJava

+0

에코 또는 리터럴 중지를 중지 하시겠습니까? – DrinkJavaCodeJava

+0

'PHPTelnet.php'에 무엇이 있습니까? – ChrisW

답변

0

당신이 단어를 "중지"를 에코 의미하는 경우,이 정확한 날짜와 시간이 어딘가에 나타날 때 당신은 당신의 스크립트의 중요한 부분을 표시되지

if(preg_match("/\b\"12\/12\/2012 22:23:09\"\b/i")==true) 
{ 
    echo "stop" 
} 
+0

왜냐하면 그들은 더 많은 라인을 포함해야한다고 말했기 때문에 " 그들이 이것을 보았을 때 멈출 수있는 가능성이 있습니까? "그들은"PHP가 이것을 보게되면 멈출 수있는 가능성이 있습니까? " – Popnoodles

0

할 수 있습니다. 출력을 처리하기 전에 출력을 처리해야합니다. 즉 출력을 직접 echo()하거나 출력 버퍼를 사용하여 echo() 된 내용을 catch하는 것이 아니라 문자열에로드하는 것입니다. 그럼 당신은 "12/12/2012 22시 23 분 9 초"의 posistion을 찾아 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); 

//.... 

?>