Ouverture fichier php

Résolu
croftman Messages postés 110 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 2 avril 2010 - 22 avril 2009 à 08:31
croftman Messages postés 110 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 2 avril 2010 - 23 avril 2009 à 15:53
Bonjour!

Voila, en php, j'ouvre un fichier de log (Squid) dans un tableau puis affiche les logs en fonctions de l'heure, de l'utilisateur etc...

Pas de problème jusque la, sauf que, au bout d'un mois car je sauvegarde et remet à blanc le log tout les mois, le fichier devrait être un peu trop gros pour que je puisse utiliser ma méthode de stockage dans un tableau!

Donc quelle serait la meilleure solution? Sauvegarder les logs toutes les semaines ou bien utilisaer une autre méthode?

Voici un bout du code :

$logfile = "/var/log/squid/access-0".$mo."-0".$an.".log";

if (!file_exists($logfile)) {
    if (file_exists("/var/log/squid/access.log"))
        $results=file("/var/log/squid/access.log");
} else $results=file($logfile);

$n=0;
for($i=0;$i<sizeof($results);$i++){
    eregi("\\- (.*) \\[", $results[$i] , $Users);
    if ($Users[1] == $util) {Ajout($HOR[1], "a", $Annees, $an);
        eregi(""(.*)"", $results[$i] , $GETS);
        eregi("\\[(.*)\\]", $results[$i] , $HOR);
        eregi("(.*) \\-", $results[$i], $IP);

        $GETS[1] = str_replace(" HTTP/1.1", '', $GETS[1]);
        $GETS[1] = str_replace("GET ", '', $GETS[1]);
        if ($det != "true") {
            $GETS[1] = parse_url($GETS[1], PHP_URL_HOST);
        }
        $Visites[$n] = $GETS[1];
        $AdrIP[$n] = $IP[1];

        eregi("(.*) \\+0200", $HOR[1], $HOR);
        $Horaires[$n] = $HOR[1];
        $n++;
    }
}

Merci d'avance!

2 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
22 avril 2009 à 09:43
Salut,

Tout dépend de ce que tu veux afficher :
la dernière semaine suffit :
    - tu sauvegardes toute les semaines
    - ou mieux, tu n'appelles que la fin de ton fichier de log (jette un oeil sur la source de Equilibrius)
le mois complet :
   - tu peux faire un système de pagination qui appelle par exemple 1 semaine par page. En t'inspirant de la source sus citée c'est "facilement"
   réalisable

Cordialement,

Kohntark -
croftman Messages postés 110 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 2 avril 2010
23 avril 2009 à 15:53
Mmm oui pourquoi pas, 1 jour par page je crois que je vais devoir faire, mon fichier fais déjà 8Mo en deux jours xD

Bon ben va falloir que je reprogramme tout ça!
Rejoignez-nous