zoukankan      html  css  js  c++  java
  • PHP Apache Access Log 分析工具 拆分字段成CSV文件并插入Mysql数据库分析

    现在需要分析访问日志,怎么办?

    比如分析D:ServersApache2.2logsaccess2014-05-22.log

    http://my.oschina.net/cart/针对这个问题特意开发了一款小工具分析Apache 日志,拆分字段成CSV文件并插入Mysql数据库分析

    <?php
    $date = '2014-05-22';
    
    file_put_contents($date.'.csv', '');
    file_put_contents($date.'.csv', '"IP","Date","Zone","Protocol","URL","Version","Status","Size","Referer","User-Agent"'."
    ", FILE_APPEND);
    preg_match_all('/(.*?) .*? .*? [(.*?) (.*?)] "(.*?) (.*?) (.*?)" (.*?) (.*?) "(.*?)" "(.*?)"/isu', file_get_contents('../Servers/Apache2.2/logs/access'.$date.'.log'), $matches);
    
    $num = count($matches[0]);
    for($i = 0; $i < $num; $i ++){
        file_put_contents($date.'.csv', '"'.trim($matches[1][$i]).'","'.$matches[2][$i].'","'.$matches[3][$i].'","'.$matches[4][$i].'","'.$matches[5][$i].'","'.$matches[6][$i].'","'.$matches[7][$i].'","'.$matches[8][$i].'","'.$matches[9][$i].'","'.$matches[10][$i].'"'."
    ", FILE_APPEND);
    }

    最后在Mysql中按照CSV字段信息建立字段,通过Mysql的 CSV using LOAD DATA 导入你的CSV文件即可。

    导入2G的CSV日志,速度都很快!!!

    版权所有:http://my.oschina.net/cart/ 

     哈哈,http://my.oschina.net/cart/日志已经成功拆成列入到数据库了,剩下怎么筛选,怎么折腾http://my.oschina.net/cart/,随你意!哈哈!

  • 相关阅读:
    【搞笑】各种程序评测结果
    【UVA】P1510 Neon Sign
    【转载】实用:根号怎么打出来? <引自百度>
    【转载】C++中的模板template <typename T>
    * ! THUSC2017杜老师
    * ! THUSCH2017巧克力
    ! BJOI2019光线
    ! BJOI2019奥术神杖
    ! TJOI/HEOI2016字符串
    ! TJOI/HEOI2016求和
  • 原文地址:https://www.cnblogs.com/hubing/p/3745893.html
Copyright © 2011-2022 走看看