亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

php preg_match()實戰:日志分析

PHP
小樊
82
2024-08-03 07:04:12
欄目: 編程語言

在日志分析中,我們經常需要從日志文件中提取特定的信息,比如IP地址、訪問時間、請求方式等。可以使用PHP的preg_match()函數來匹配日志文件中的信息。

假設我們有一個日志文件access.log,內容如下:

127.0.0.1 - - [10/Oct/2021:14:23:45 +0800] "GET /index.html HTTP/1.1" 200 1234
127.0.0.1 - - [10/Oct/2021:14:24:56 +0800] "POST /submit.php HTTP/1.1" 404 567

我們想要從日志中提取IP地址、訪問時間、請求方式以及返回狀態碼。

下面是一個簡單的示例代碼:

$log = file_get_contents('access.log');

$pattern = '/^(\d+\.\d+\.\d+\.\d+) .* \[(.*?)\] "(.*?)" (\d+) \d+$/m';

preg_match_all($pattern, $log, $matches, PREG_SET_ORDER);

foreach ($matches as $match) {
    $ip = $match[1];
    $time = $match[2];
    $method = explode(' ', $match[3])[0];
    $status = $match[4];

    echo "IP: $ip, Time: $time, Method: $method, Status: $status\n";
}

在這個示例中,我們首先使用file_get_contents()函數讀取access.log文件的內容,然后定義了一個正則表達式模式$pattern來匹配日志中的信息。

然后使用preg_match_all()函數來進行匹配,并將匹配到的信息存儲在$matches數組中。

最后,我們遍歷$matches數組,并從中提取IP地址、訪問時間、請求方式和返回狀態碼,并輸出到控制臺。

通過這種方式,我們可以方便地從日志文件中提取所需的信息,并進行進一步的分析和處理。

0
呼玛县| 漠河县| 舒城县| 泾源县| 于田县| 织金县| 龙江县| 曲阜市| 吉木乃县| 临颍县| 依兰县| 綦江县| 莲花县| 南木林县| 井冈山市| 拜泉县| 蚌埠市| 昌宁县| 股票| 乌拉特前旗| 安乡县| 大荔县| 中卫市| 蒲城县| 错那县| 兰州市| 迭部县| 贵州省| 沁阳市| 固镇县| 库尔勒市| 广安市| 莲花县| 吕梁市| 昭觉县| 凯里市| 南汇区| 紫阳县| 安吉县| 雅江县| 山西省|