Fichiers logs

Le forum de l'Annuaire Francophone des Scripts CGI: Forum de test: Fichiers logs

Anonyme

mardi 04 juillet 2000 - 03h53
Bonjour,
j'ai fait un petit script pour ecrire dans un fichier, les adresses des sites, d'ou sont venu mes visiteurs.

le voici:

#!C:/apache/perl/bin/perl.exe

$logfilepath = "C:/apache/cgi-bin/logs/";

$logentry = "$ENV{'HTTP_REFERER'}\n";

$logfile = "log.log";
open (LOG, ">>$logfile");
print LOG "$logentry";
close (LOG);

il marche tres bien, sauf que je voudrait qu'il affiche le nombre de fois q'une url ( presente dans le fichier log ) à été le referer au lieu d'e rajoute 1 ligne a chaque fois qu'elle à été appeler, comme ca ca prends moins de place et de temps pour les lires.Mais ca je ne sais pas le faire ... si quelqun pourrait m'aider ce serait vraiment bien.

je pense qu'il faut faire un truc du genre :

if ( url presente dans le fichier log) { rajoute +1 au chiffre dans le fichier log }
else { ecrit url dans le fichier avec chiffre 0 }

merci de m'aider

phil

rotule

mercredi 05 juillet 2000 - 11h22
Bonjour,


Je ne sais pas si recalculer les nombres a chaque visite est la meilleure méthode (point de vue performances).
Je pense qu'il vaut mieux logger tout dans le fichier et faire les calculs uniquement quand vous voulez voir les résultats.

En admettant que vous loggiez tout voici comment faire les calculs :
open(LOGFILE, "$fich_log");
@LOG = ;
close (LOGFILE);
foreach $ligne (@LOG)
{ chomp $ligne;
%ref{$ligne} ++;
}
# affichage des infos
foreach $i (%ref)
{ print "$ref{$i} : $i\n";
}


Ce n'est pas testé mais cela doit etre quelque chose du genre.
Vous pouvez également regarder sur le site dans la partie nos scripts, FramesCount qui permet de logger les visites et d'afficher un tableau avec les résultats.
http://www.scripts-fr.com/scripts/scripts-fr/framescount.shtml

Amicalement.

Frédéric


Ajouter un message


Ceci est une zone publique. Si vous n'avez pas de compte, entrez votre nom dans le champ "Identificateur" et laissez le mot de passe vide. Votre adresse E-mail est facultative.
Identificateur :  
Mot de passe :
E-mail :
Poster "anonymement"