Mar  8 12:51:26 10.10.255.5 haproxy[4844]: 124.240.36.246:10313[10.10.255.5:60343]->58.252.186.10:80[58.252.186.10:80] [08/Mar/2012:12:51:26.392] http_check tcp_proxy/<NOSRV> 1/28/72 163 -- 608/608/541/0/0 0/0截取[58.252.186.10:80]

解决方案 »

  1.   

    $s = <<< TXT
    Mar  8 12:51:26 10.10.255.5 haproxy[4844]: 124.240.36.246:10313[10.10.255.5:60343]->58.252.186.10:80[58.252.186.10:80] [08/Mar/2012:12:51:26.392] http_check tcp_proxy/<NOSRV> 1/28/72 163 -- 608/608/541/0/0 0/0
    TXT;preg_match('/\[[\d.:]+\].+(\[[\d.:]+\])/', $s, $r);echo $r[1];[58.252.186.10:80]不过日志不是这么分析的
      

  2.   

    当然不是了,所以我只能截取到  124.240.36.246:10313[10.10.255.5:60343]->58.252.186.10:80[58.252.186.10:80]
    这一段,而且我还要统计ip的访问量
      

  3.   

    preg_match('/\[[\d.:]+\].+(\[[\d.:]+\])/', $s, $r);
    改为
    preg_match_all('/\[[\d.:]+\].+(\[[\d.:]+\])/m', $s, $r);
      

  4.   

    $s=file_get_contents('你的文件'); //然后再用上面的代码。
      

  5.   

    追加ip?
    追加什么ip,在哪里追加?
      

  6.   

    读取一行数据  把目标IP提取出来,然后存在一个数据  记录下这个IP的访问信息为1,下次读取到同样的数据时  把这个值加1  就可以了
      

  7.   

    对 haproxy 不熟悉,所以对他的日志也不熟悉
    你就说你要取出些什么吧?
      

  8.   

    已经取出来了,现在是要统计ip的访问量,有几十G呢.做到数组里面然后直接对数组的值进行排序,取出前1000条