读取日志文件(大型)

一、php      SplFileInfo()类

foreach( glob( ngx_log. "/*.log" ) as $file ) {
    $log = new SplFileObject($file);
    foreach( $log as $line ){
        //这里操作每一行

        $ipnum  = getip($line);
        if( $ipnum ) {
            $ips[ $ipnum ] = (int)$ips[ $ipnum ] + 1;
        }
    }
}

二、利用shell_exec来执行grep返回搜索值

        linux的grep来处理

if ($search['keyword'] != ''){
    $file_dir = 'log/'.$path.'.log';
    if (!is_file($file_dir))goto index;
    $info = shell_exec("grep -A 3 ".$search['keyword'].' '.$file_dir);
    if (empty($info))goto index;
    $ret = explode(PHP_EOL,$info);
}

猜你喜欢

转载自blog.csdn.net/weixin_40154252/article/details/106844041
今日推荐