int(10) ["192.168.1.108"]=> int(8) ["192.168.1.120"]=> int(7) }">
当前位置:Gxlcms > PHP教程 > 统计log日志并排序的php程序

统计log日志并排序的php程序

时间:2021-07-01 10:21:17 帮助过:8人阅读

  1. function topIp($logfile,$length=3){
  2. $handle = fopen($logfile, 'r');
  3. $countip = array();//统计ip
  4. if ($handle) {
  5. while ($buffer = fgets($handle)) {//逐行读取文件
  6. $arr = preg_split('/\t/',$buffer);
  7. if(strstr($arr[2],"small")){//小图
  8. //ip为键,出现次数为指
  9. $countip[$arr[1]] = $countip[$arr[1]] ? ++$countip[$arr[1]] : 1;
  10. }
  11. }
  12. fclose($handle);
  13. arsort($countip);//ip出现次数倒序
  14. return array_slice($countip,0,$length);//提取
  15. }
  16. }
  17. $topips = topIp('20121030.log',3);
  18. var_dump($topips);
  19. ?>

输出的结果: array(3) { ["192.168.1.110"]=> int(10) ["192.168.1.108"]=> int(8) ["192.168.1.120"]=> int(7) }

人气教程排行