Subversion Repositories php-qbpwcf

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
368 liveuser 1
<?php
2
 
3
/*
4
 
5
        QBPWCF, Quick Build PHP website Component base on Fedora Linux.
6
    Copyright (C) 2014~2026 MIN ZHI, CHEN
7
 
8
    This file is part of QBPWCF.
9
 
10
    QBPWCF is free software: you can redistribute it and/or modify
11
    it under the terms of the GNU General Public License as published by
12
    the Free Software Foundation, either version 3 of the License, or
13
    (at your option) any later version.
14
 
15
    QBPWCF is distributed in the hope that it will be useful,
16
    but WITHOUT ANY WARRANTY; without even the implied warranty of
17
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
    GNU General Public License for more details.
19
 
20
    You should have received a copy of the GNU General Public License
21
    along with QBPWCF.  If not, see <http://www.gnu.org/licenses/>.
22
 
23
*/
24
 
25
#使用命名空間qbpwcf
26
namespace qbpwcf;
27
 
28
#assets dir
29
$assetsDir="search::getMatchFormatsStrings_20260622";
30
 
31
#函式說明:
32
#尋找多個字串中是否含有符合多個格式之一的內容,且回傳解析好的變數數值.
33
#回傳結果:
34
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
35
#$reuslt["error"],執行不正常結束的錯訊息陣列.
36
#$result["function"],當前執行的函式名稱.
37
#$result["argu"],所使用的參數.
38
#$result["found"],是否有找到符合格式的字串內容,"true"代表有找到,"false"代表沒有找到.
39
#$result["content"],陣列,第一維為對應formats參數的索引,第二維的key為lineNo者為inputs參數的索引;第二維的key為content者為符合的資訊,若為n個${*},則當found為"true"時,就會回傳n個元素;第二維的key為parsedVar者為符合的資訊,其數值以變數名稱作為索引,元素的索引為0~N,代表有幾個符合的同名變數.
40
#必填參數:
41
#$conf["inputs"],字串陣列,要檢查的字串集合.
42
$conf["inputs"]=array("36.149.205.198 - - [22/Jun/2026:15:49:21 +0800] \"CONNECT api.ipapi.is:443 HTTP/1.1\" 200 -","172.238.244.28 - - [22/Jun/2026:15:49:31 +0800] \"GET / HTTP/1.0\" 400 402");
43
#$conf["format"],格式字串陣列,要尋找的可能格式字串集合.格式為固定的字串("fixedStr format")與變數("${keyWordVarName}")組成.
44
$conf["formats"]=array("\${ip} \${doNotNeed} [\${day}/\${month}/\${year}:\${hour}:\${min}:\${sec} \${timezone}] \${method} \${path} \${protocol} \${responseCode} \${bytesSend}");
45
#可省略參數:
46
#無.
47
#參考資料:
48
#無.
49
#備註:
50
#無.
51
$getMatchFormatsStrings=search::getMatchFormatsStrings($conf);
52
unset($conf);
53
 
54
#debug
55
var_dump($getMatchFormatsStrings);