Resulta ser que tengo un fichero con muchas filas de este tipo.
May 30 04:03:22 NEREAfw kernel: RULE 0 -- ACCEPT IN=eth0 OUT= MAC=ww:ww:ww:ww:ww:ww:ww:ww:ww:ww:ww:ww:ww:ww SRC=xxx.xxx.xxx.xxx DST=yyy.yyy.yyy.yyy LEN=135 TOS=0x00 PREC=0x00 TTL=128 ID=47956 PROTO=UDP SPT=17500 DPT=17500 LEN=115
Ha abierto el fichero e ido leyendo el fichero, este fichero es continuo es decir nunca para de procesarse y aumenta continuamente. Ami lo que me interesa es coger cada dia ya que lo programaré es coger solo las lineas del fichero de ese deia es decir si en este fichero ejemplo de antes pone May 30 solo coger las lineas del dia 30 para luego acto seguido seguir filtrando, En shell script no fue complicado pero aqui al no tener el grep que es para filtrar me está costando mas y no encuentro nada. Les paso el codigo que llevo hecho, aver si me pueden ayudar. Muchas gracias
Código PHP:
<?php
date_default_timezone_set('Europe/Paris');
$dia=date("j");
$mes=date("M");
$ano=date("Y");
$contador=0;
$fecha=$mes." ".$dia;
//leemos el fichero
$fname="/var/log/messages";
$fp=fopen($fname,"r") or die("Erro al abrir el fichero");
$line = fgets( $fp, 1000 );
//iniciamos conexion a bbdd
$db_link = mysql_connect('localhost', 'root', '');
if ($db_link){ @mysql_select_db('tratamientoMensajes');}else {echo "error de conexion";}
while(!feof($fp))
{
$separar=explode(" ",$line);
$line = fgets( $fp, 1000);
echo $line;
echo "<br>";
}
fclose($fp);
?>