Heim >Backend-Entwicklung >PHP-Tutorial >统计log日志并排序的php程序

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

WBOY
WBOYOriginal
2016-07-25 09:03:16966Durchsuche
  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) }



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn