cinezone | Salut,
Comme travail de fin d'année je compte créer une web application permettant aux utilisateurs d'une entreprise d'avoir un historique des pages visitées.
Sachant que le proxy derrière est SQUID il faut que je mettent toutes ces données dans une table mysql pour pouvoir faire des requêtes dessu par la suite.
Alors voici mon code :
Code :
- set_time_limit(0);
- $timestamp = array();
- $user = array();
- $url = array();
- $i=0;
- $handle = file("../log/access.log" ); /* Fichier utilisé */
- mysql_connect(MYSQL_ROOT , MYSQL_USER , MYSQL_PASSWORD);
- mysql_select_db("access" );
- foreach ($handle as $buffer) {
- $buffer = str_replace(" " , " " , $buffer); /* Suppression des espaces dans le fichier */
- $buffer = str_replace(" ", " " , $buffer);
- $buffer = str_replace(" ", " " , $buffer);
- $buffer = str_replace(" ", " " , $buffer); /* Fin Suppression */
- $data = explode(" " , $buffer);
- //$uid = $data[7];
- //$sites = $data[6];
- //$ipclient = $data[2];
- $datevisite = strftime("%Y-%m-%d" , $data[0]); /* date Unix (secondes depuis le 1er Janvier 1970) vers date compréhensible */
- $heurevisite = strftime("%H:%M" , $data[0]);
- $urldecomp = parse_url($data[6]); /* Décomposition */
- $urldecomp = @$urldecomp['host']; /* de l'url */
- include("keywords_rules.php" );
- $info = mysql_query("INSERT INTO log VALUES ('' , '$data[7]' , '$datevisite' , '$heurevisite' , '$data[2]', '$urldecomp', '$data[6]' , '$sensible')" );
- if ($info) {
- echo "Ligne $i : OK <br />";
- } else {
- echo "<strong>Ligne $i : Problème </strong><br />";
- };
- $i++;
- };
|
Le script fonctionne parfaitement mais je trouve sont temps d'exécution trop long alors je fais appel à votre aide pour savoir si il y a pas moyen d'optimiser tout ça.
Merci d'avance. |