Subversion Repositories php-qbpwcf

Rev

Blame | Last modification | View Log | RSS feed

<?php

#使用命名空間qbpwcf
namespace qbpwcf;

#匯入外部套件
include("../allInOneForJson.php");

/*

#提示要測試的套件
#echo "<hr>logs::parseLog2sessionWithMultiMsgStartSupport & logs::filterMsgPackWithMultiKeywordSupport - testCase 2<br>";

#如果有 $_POST["lineStart"] 存在
if(isset($_POST["lineStart"]))
{

        #函式說明:
        #解析讀取到的log內容,分段成數個訊息(可以有多種)儲存到session陣列中並回傳完整的訊息部分.
        #回傳結果:
        #$result["status"],狀態,"true"或"false".
        #$result["error"],錯誤訊息陣列.
        #$result["function"],當前函式的名稱.
        #$result["argu"],使用的參數.
        #$result["content"],陣列,每個有關鍵字的訊息陣列.
        #$result["lineNum"],數字,當前行數.
        #必填參數:
        #$conf["path"],log檔案的路徑與名稱.
        $conf["path"]="logsT/Devcom-9497.log";
        #$conf["msgStart"],字串陣列,用來識別訊息開頭的開頭關鍵字,支援多種訊息的開頭.
        #$conf["msgStart"]=array("i UdpS, ".date('n')."/".date('j'),"i TcpSvr, ".date('n')."/".date('j'));
        $conf["msgStart"]=array("i UdpS, 1/30","i TcpSvr, 1/30");
        #$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
        $conf["fileArgu"]=__FILE__;
        #可省略參數:
        #$conf["sessionName"],字串,儲存log的session變數key.
        #$conf["sessionName"]="";
        #$conf["line2start"],字串,log從第幾列開始,預設為總行數減去linesPerTime+1.
        $conf["line2start"]=$_POST["lineStart"];
        #$conf["linesPerTime"],字串,一次最多讀取幾列,預設爲10列.
        $conf["linesPerTime"]="10";     
        $parseLog2sessionWithMultiMsgStartSupport=logs::parseLog2sessionWithMultiMsgStartSupport($conf);
        unset($conf);

        #如果執行錯誤
        if($parseLog2sessionWithMultiMsgStartSupport["status"]==="false"){

                #印出結果
                var_dump($parseLog2sessionWithMultiMsgStartSupport);

                #結束執行
                exit;

                }#if end

        #函式說明:
        #解析多個訊息陣列,尋找符合其中一組關鍵字出現的訊息,並回傳之.
        #回傳結果:
        #$result["status"],狀態,"true"或"false".
        #$result["error"],錯誤訊息陣列.
        #$result["function"],當前函式的名稱.
        #$result["argu"],使用的參數.
        #$result["content"],陣列,有開頭關鍵字出現的訊息陣列.
        #必填參數:
        #$conf["msgs"],陣列,由多個訊息陣列組成.
        $conf["msgs"]=$parseLog2sessionWithMultiMsgStartSupport["content"];
        #$conf["keyWords"],二維陣列,每個關鍵字.
        $conf["keyWords"]=array(array("2","3","E","B"),array("i"," ","T","c","p","S","v","r"));
        #$conf["keyWordsAddr"],二維陣列,關鍵字的位置是第幾個.
        $conf["keyWordsAddr"]=array(array("21","22","24","25"),array("0","1","2","3","4","5","6","7"));
        #可省略參數:
        #無
        $filterMsgPackWithMultiKeywordSupport=logs::filterMsgPackWithMultiKeywordSupport($conf);
        unset($conf);

        #如果執行錯誤
        if($filterMsgPackWithMultiKeywordSupport["status"]==="false"){

                #印出結果
                var_dump($filterMsgPackWithMultiKeywordSupport);

                #結束執行
                exit;

                }#if end

        #初始化要印出的內容
        $result=array();

        #初始化儲存lineArray內容
        $lineArray=array();
        
        #針對每個訊息陣列
        foreach($filterMsgPackWithMultiKeywordSupport["content"] as $res){ 
        
                #函式說明:
                #將多個一維陣列串聯起來,key從0開始排序.
                #回傳的結果:
                #$result["status"],"true"表執行正常,"false"代表執行不正常.
                #$result["error"],錯誤訊息陣列.
                #$result["function"],當前執行的函數.
                #$result["content"],合併好的一維陣列.
                #必填的參數
                #$conf["inputArray"],陣列,要合併的一維陣列變數,例如:=array($array1,$array2);
                $conf["inputArray"]=array($lineArray,$res);
                #可省略的參數:
                #$conf["allowRepeat"],字串,預設為"true",允許重複的結果;若為"false"則不會出現重複的元素內容.
                $conf["allowRepeat"]="false";
                $mergeArray=arrays::mergeArray($conf);
                unset($conf);

                $lineArray=$mergeArray["content"];

                }#foreach end
        
        #設置要印出的內容
        $result["lines"]=$lineArray;      

        #設置新的欄數
        $result["id"]["lineStart"]=$parseLog2sessionWithMultiMsgStartSupport["lineNum"];

        #印出 json
        echo json_encode($result);      
                
}#if end

*/

?>