Hallo ich bin neu hier im Forum und auch mit php.
Ich muss ein kleines Program schreiben, das eine Log Datei(3 Mio Zeilen) durchsucht, dachte ich mir php wäre dafür geeignet.
Gleich wiederholte Zeilen müssen gezählt werden und nur ein Vorkommen beibehalten.
Dh : in file kommt zB die Zeile qqqqqqqqqqqqqqqqqqqq 6 mal. Ich muss es zählen, und einschliessend alle 5 Vorkommen löschen.
So hier mein Versuch nur auf Zeilegleichheit zu prüfen:
$handle = @fopen( "alert_ZORA.log" , "r" );
$eingabe = array();
$counter = array();
$val = 0;
$g_amount = 0;
if( $handle ){
while( !feof( $handle ) ){
$eingabe[] = fgets( $handle, 1024 );
$val += 1;
}
fclose( $handle );
$g_amount = count($eingabe);
for ($i =0; $i < $g_amount ; $i++){
for ($j=1; $j < $g_amount-1; $j++){
if($eingabe[i] == $eingabe[j]){
echo("equal <BR>" .$eingabe[i] ."<BR>" .$eingabe[j]);
}
}
}
}
Ich bekomme nur equal ausgedrückt und nicht die Zeileneinträge in den array eintrag. Hat jemand ne bessere Idee wie ich da machen kann, ob es funktionen gibt, die sowas machen ganze Zeilen zu vergleichen
danke
Mithos