Analyseur de fichier log

Résolu
cs_matador1 Messages postés 2 Date d'inscription vendredi 30 novembre 2007 Statut Membre Dernière intervention 5 janvier 2008 - 5 janv. 2008 à 19:03
cs_matador1 Messages postés 2 Date d'inscription vendredi 30 novembre 2007 Statut Membre Dernière intervention 5 janvier 2008 - 5 janv. 2008 à 19:05
Bonjour sous le cadre de mon PFE je doit developper une application web ( php) qui va analyser le fichier log de squid ( nommé acess.log) extraire le contenu nécessaire pour la supervision de l'accès internet et le mettre dans une BD mysql puis analyser le contenu de la page visiter et générer automatiquement une alert (ajout d'une alerte a la table alert ) , voila le code :


<?

require_once("../conf/conf.php");

$fichier="access2.log";\\ le fichier a analyser

//**** extraire le contenu nécessaire*******

$do = fopen ($fichier, "r");
$contenu = fread ($do, filesize ($fichier));

$ligne = explode("\n", $contenu);
$infoavant="vide";
for ($i = 0; $i < (count($ligne)-1); $i++) {
$info = split("[ ]+", $ligne[$i]);

$infocourant=$info[2];

if($infocourant!==$infoavant)

{
$date= $info[0];
$adresse= $info[2];
$http= $info[6];
$dateheur=date('d-m-Y H:i:s',$date);
$info2 = split("/", $http);
$url=$info2[2];
echo $http;

/* -------Analyse du contenu ----------*/
$j=0;
$resultat="";
$trouve=0;
//****************** recuperation des mot clé a recherché de la table keyword*********

$req2="SELECT * FROM `keyword`";
$data2=mysql_query($req2);

while($res2=mysql_fetch_array($data2))
{
//*************** analyse du page web visité*************************
$fichierr = fopen($http,"r");
while (!feof ($fichierr))
{
$donnees = strtolower(strip_tags(fgets($fichierr, 4096)));
$pos = strpos($donnees, $res2["mot"]);
if ($pos>0) $trouve=1;
}//fin de la boucle
if ($trouve==1)
{
$resultat.=$res2["mot"] ;
$i++;
}
fclose($fichier);
$trouve=0;
}




$sql="INSERT INTO `fichierlog` (`datevisite`, `adresseclub`, `adresseurl`,`urlvisited`,`keyword`) VALUES ('$dateheur', '$adresse', '$url','$http','$resultat');";
$resut= mysql_query($sql);
echo $sql;


}

$infoavant=$info[2];
}
header("Location:alertgenerator.php?); // redirection a la page alerte qui va générer des alerte selon le contenu de la table fichierlog
?>

1 réponse

cs_matador1 Messages postés 2 Date d'inscription vendredi 30 novembre 2007 Statut Membre Dernière intervention 5 janvier 2008
5 janv. 2008 à 19:05
le problème c'est que le scripte tourne dans un boucle infinie :( et ne donnne plus de résultats , pouvez vous m'aider a resoudre se probleme ou si vous avez des proposition pour d'autre algorithme ;)
3
Rejoignez-nous