Einzelnen Beitrag anzeigen
  #14 (permalink)  
Alt 06.10.2009, 12:33
Benutzerbild von laborix
laborix laborix ist offline
Erfahrener Benutzer
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 11.12.2005
Beiträge: 1.495
laborix ist ein sehr geschätzer Menschlaborix ist ein sehr geschätzer Menschlaborix ist ein sehr geschätzer Mensch
Standard

Zitat:
Zitat von mantiz Beitrag anzeigen
War doch nur ein Test.
Im Augenblick läuft das so:

Einlesen der Log-Datei mit kompletter Zeile ins Array, danach kommt ein Vorsortieren mit

Code:
sort($accesslog);
Nach dem Sortieren (ca. 2 Sekunden bei 240.000 Zeilen) folgt die eigentliche Auswertung:

Code:
   <?php 
     
      for ($i=0; $i < count ( $accesslog ); $i++) 
      {
      
        $checkip = explode(" ", $accesslog[$i]);
        $ip = $checkip[0];
        $browserstring = explode('"', $accesslog[$i]);

        // 
        // Check out all browser I know
        //

        if (preg_match("/amaya\//", $browserstring[5]))   
        {                                                 
          if ($lastip == $ip)
          {
             // do nothing
          }
          else
          {
            $lastip = $ip;
            $amaya++;
            $browserfound++;
          }
        }
        elseif (preg_match("/Namoroka\//", $browserstring[5])) 
        {
          if ($lastip == $ip)
          {
             // do nothing
          }
          else
          {
            $lastip = $ip;
            $namoroka++;      
            $browserfound++;
          }
        } 
        
        //
        //  und 70 weitere Browser...
        //
         
        $checkcount++;
      }

      echo $checkcount." Datensätze wurde zur Analyse verwendet<br />";

   ?>
Bei einer Datei mit 7MB (32.000 Zeilen) sind es schlappe 6-9 Sekunden und bei einer Datei mit 56MB (240.000 Zeilen) dauert es halt seine Zeit.
__________________
Personal stuff
Mit Zitat antworten