|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
COMPTEURS SIMPLE/IP/COOKIES
Information sur la source
Description
Voilà un exemple simple de 3 compteurs de visites ayant des fonctionnements differents, l'installation se fait très simplement, le fonctionnement étant basé sur les fichiers...Il doit surement y avoir des maladresses ou choses inutiles dans mon code...je vous laisse donner votre avis. Le script crée un fichier pour les visites de la journée et stocke les autres journées dans un autre, il y a donc deux fichiers texte par compteurs.
Source
- //compteur IP
- <?php
- function get_ip(){
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
- $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
- } else if(isset($_SERVER['HTTP_CLIENT_IP'])){
- $ip = $_SERVER['HTTP_CLIENT_IP'];
- } else{
- $ip = $_SERVER['REMOTE_ADDR'];
- }
- return $ip;
- }
-
- $ip = get_ip();
- $fileip="compteur.txt";
- $filebi="compteurtot.txt";
-
- function visittoday(){
- global $fileip, $filebi, $ip;
- $fe=0;
- if(file_exists($fileip)){
- $fe=1;
- }
- $i=0;
- if($fe==1){
- $fp=fopen($fileip,"r") or die("Impossible d'ouvrir ou creer le compteur");
- $datef=intval(fgets($fp));
- if(($datef<(time()))&&(date("d",$datef)!=date("d",time()))){
- $ipconnu=Array();
- while (!feof($fp)) {
- $ipconnu[$i] = fgets($fp);
- $i++;
- }
- $fpb=fopen($filebi,"a+") or die("Impossible de créer/ouvrir le fichier global");
- fputs($fpb,"\n".$datef."|".sizeof($ipconnu));
- fclose($fpb);
- fclose($fp);
- $fp=fopen($fileip,"w");
- fputs($fp,time());
- fputs($fp,"\n".$ip);
- fclose($fp);
- return 1;
- }else{
- $ipconnu=Array();
- while (!feof($fp)) {
- $ipconnu[$i] = trim(fgets($fp));
- $i++;
- }
- fclose($fp);
- $fp=fopen($fileip,"a");
- if(!in_array ($ip, $ipconnu)){
- fputs($fp,"\n".$ip) or die("Impossible d'écrire dans le fichier");
- $ipconnu[$i]=$ip;
- }
- return sizeof($ipconnu);
- }
- }else{
- $fp=fopen($fileip,"w");
- fputs($fp,time());
- fputs($fp,"\n".$ip);
- return 1;
- fclose($fp);
- }
- }
- function totvisit(){
- global $filebi;
- if(file_exists($filebi)){
- $fp=fopen($filebi,"r");
- }else{
- $fp=fopen($filebi,"w");
- }
- $tot=0;
- while (!feof($fp)) {
- $li=fgets($fp);
- $lineip = explode("|",$li);
- if(sizeof($lineip)==2){
- $tot+=$lineip[1];
- }
- }
- fclose($fp);
- $tot+=visittoday();
- return $tot;
- }
- totvisit();
- ?>
-
-
-
-
- //compteur Simple
- <?php
-
- $fileip="scompteur.txt";
- $filebi="scompteurtot.txt";
-
- function visittoday(){
- global $fileip, $filebi, $ip;
- $fe=0;
- if(file_exists($fileip)){
- $fe=1;
- }
- $i=0;
- if($fe==1){
- $fp=fopen($fileip,"r") or die("Impossible d'ouvrir ou creer le compteur");
- $datef=intval(fgets($fp));
- if(($datef<(time()))&&(date("d",$datef)!=date("d",time()))){
- $n = fgets($fp);
- $fpb=fopen($filebi,"a+") or die("Impossible de créer/ouvrir le fichier global");
- fputs($fpb,$datef."|".$n."\n");
- fclose($fpb);
- fclose($fp);
- $fp=fopen($fileip,"w");
- fputs($fp,time());
- fputs($fp,"\n1");
- fclose($fp);
- return 1;
- }else{
- $n=intval(fgets($fp));
- $n++;
- fclose($fp);
- $fp=fopen($fileip,"w");
- fputs($fp,$datef."\n") or die("Impossible d'écrire dans le fichier");
- fputs($fp,$n);
- return $n;
- }
- }else{
- $fp=fopen($fileip,"w");
- fputs($fp,time());
- fputs($fp,"\n1");
- return 1;
- fclose($fp);
- }
- }
- function totvisit(){
- global $filebi;
- if(file_exists($filebi)){
- $fp=fopen($filebi,"r");
- }else{
- $fp=fopen($filebi,"w");
- }
- $tot=0;
- while (!feof($fp)) {
- $li=fgets($fp);
- $lineip = explode("|",$li);
- if(sizeof($lineip)==2){
- $tot+=$lineip[1];
- }
- }
- fclose($fp);
- $tot+=visittoday();
- return $tot;
- }
- totvisit();
- ?>
-
- //Compteur cookies
- <?php
-
- $fileip="ccompteur.txt";
- $filebi="ccompteurtot.txt";
-
- function visittoday(){
- global $fileip, $filebi, $ip;
- $fe=0;
- if(file_exists($fileip)){
- $fe=1;
- }
- $i=0;
- if($fe==1){
- $fp=fopen($fileip,"r") or die("Impossible d'ouvrir ou creer le compteur");
- $datef=intval(fgets($fp));
- if(($datef<(time()))&&(date("d",$datef)!=date("d",time()))){
- $n = fgets($fp);
- $fpb=fopen($filebi,"a+") or die("Impossible de créer/ouvrir le fichier global");
- fputs($fpb,$datef."|".$n."\n");
- fclose($fpb);
- fclose($fp);
- $fp=fopen($fileip,"w");
- fputs($fp,time());
- fputs($fp,"\n1");
- setcookie("visit", "1",mktime(0,0,0,intval(date("d")),intval(date("m")),intval(date("Y")))+24*3600);
- fclose($fp);
- return 1;
- }else{
- $n=intval(fgets($fp));
- if(!isset($_COOKIE['visit'])){
- $n++;
- setcookie("visit", "1",mktime(0,0,0,intval(date("d")),intval(date("m")),intval(date("Y")))+24*3600);
- }
- fclose($fp);
- $fp=fopen($fileip,"w");
- fputs($fp,$datef."\n") or die("Impossible d'écrire dans le fichier");
- fputs($fp,$n);
- return $n;
- }
- }else{
- $fp=fopen($fileip,"w");
- fputs($fp,time());
- fputs($fp,"\n1");
- setcookie("visit", "1",mktime(0,0,0,intval(date("d")),intval(date("m")),intval(date("Y")))+24*3600);
- return 1;
- fclose($fp);
- }
- }
- function totvisit(){
- global $filebi;
- if(file_exists($filebi)){
- $fp=fopen($filebi,"r");
- }else{
- $fp=fopen($filebi,"w");
- }
- $tot=0;
- while (!feof($fp)) {
- $li=fgets($fp);
- $lineip = explode("|",$li);
- if(sizeof($lineip)==2){
- $tot+=$lineip[1];
- }
- }
- fclose($fp);
- $tot+=visittoday();
- return $tot;
- }
- totvisit();
- ?>
-
- //Affichage des stats
- <?php
- $fip="../compteur.txt";
- $ftotip="../compteurtot.txt";
- $fs="../scompteur.txt";
- $ftots="../scompteurtot.txt";
- $fc="../ccompteur.txt";
- $ftotc="../ccompteurtot.txt";
-
- function visittoday($type){
- global $fip, $fs, $fc;
- switch($type) {
- case 'ip':
- $fp=fopen($fip,"r") or die("Impossible d'ouvrir le compteur");
- $ipconnu=Array();
- while (!feof($fp)) {
- $ipconnu[$i] = trim(fgets($fp));
- $i++;
- }
- return sizeof($ipconnu)-1;
- fclose($fp);
- break;
- case 's':
- $fp=fopen($fs,"r") or die("Impossible d'ouvrir le compteur");
- $datef=intval(fgets($fp));
- return intval(trim(fgets($fp)));
- fclose($fp);
- break;
- case 'c':
- $fp=fopen($fc,"r") or die("Impossible d'ouvrir le compteur");
- $datef=intval(fgets($fp));
- return intval(trim(fgets($fp)));
- fclose($fp);
- break;
- }
- }
- function visitjour($type){
- global $ftotip, $ftots, $ftotc;
- switch($type) {
- case 'ip':
- $fp=fopen($ftotip,"r") or die("Impossible d'ouvrir le compteur");
- $tot=0;
- $i=0;
- $lineip=Array();
- while (!feof($fp)) {
- $li=fgets($fp);
-
- $lineip[$i] = explode("|",$li);
- if(sizeof($lineip[$i])==2){
- $tot+=$lineip[$i][1];
- }
- $i++;
- }
- for($j=0;$j<$i;$j++){
- if(sizeof($lineip[$j])==2){
- echo date("d-m-Y :",intval($lineip[$j][0]))." ".$lineip[$j][1]." visites <br>";
- }
- }
- $today=visittoday("ip");
- $tot+=$today;
- echo "<b>Aujourd'hui :</b> ".$today." visites ";
- echo "<b>Total :</b> ".$tot;
- fclose($fp);
- break;
- case 's':
- $fp=fopen($ftots,"r") or die("Impossible d'ouvrir le compteur");
- $tot=0;
- $i=0;
- $lineip=Array();
- while (!feof($fp)) {
- $li=fgets($fp);
-
- $lineip[$i] = explode("|",$li);
- if(sizeof($lineip[$i])==2){
- $tot+=$lineip[$i][1];
- }
- $i++;
- }
- for($j=0;$j<$i;$j++){
- if(sizeof($lineip[$j])==2){
- echo date("d-m-Y :",intval($lineip[$j][0]))." ".$lineip[$j][1]." visites <br>";
- }
- }
- $today=visittoday("s");
- $tot+=$today;
- echo "<b>Aujourd'hui :</b> ".$today." visites ";
- echo "<b>Total :</b> ".$tot;
- fclose($fp);
- break;
- case 'c':
- $fp=fopen($ftotc,"r") or die("Impossible d'ouvrir le compteur");
- $tot=0;
- $i=0;
- $lineip=Array();
- while (!feof($fp)) {
- $li=fgets($fp);
-
- $lineip[$i] = explode("|",$li);
- if(sizeof($lineip[$i])==2){
- $tot+=$lineip[$i][1];
- }
- $i++;
- }
- for($j=0;$j<$i;$j++){
- if(sizeof($lineip[$j])==2){
- echo date("d-m-Y :",intval($lineip[$j][0]))." ".$lineip[$j][1]." visites <br>";
- }
- }
- $today=visittoday("c");
- $tot+=$today;
- echo "<b>Aujourd'hui :</b> ".$today." visites ";
- echo "<b>Total :</b> ".$tot;
- fclose($fp);
- break;
- }
- }
- echo "<h2>IP :</h2><br>";
- visitjour('ip');
- echo "<br>";
- echo "<h2>Simple :</h2><br>";
- visitjour('s');
- echo "<br>";
- echo "<h2>Cook :</h2><br>";
- visitjour('c');
- echo "<br>";
- ?>
//compteur IP
<?php
function get_ip(){
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else if(isset($_SERVER['HTTP_CLIENT_IP'])){
$ip = $_SERVER['HTTP_CLIENT_IP'];
} else{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
$ip = get_ip();
$fileip="compteur.txt";
$filebi="compteurtot.txt";
function visittoday(){
global $fileip, $filebi, $ip;
$fe=0;
if(file_exists($fileip)){
$fe=1;
}
$i=0;
if($fe==1){
$fp=fopen($fileip,"r") or die("Impossible d'ouvrir ou creer le compteur");
$datef=intval(fgets($fp));
if(($datef<(time()))&&(date("d",$datef)!=date("d",time()))){
$ipconnu=Array();
while (!feof($fp)) {
$ipconnu[$i] = fgets($fp);
$i++;
}
$fpb=fopen($filebi,"a+") or die("Impossible de créer/ouvrir le fichier global");
fputs($fpb,"\n".$datef."|".sizeof($ipconnu));
fclose($fpb);
fclose($fp);
$fp=fopen($fileip,"w");
fputs($fp,time());
fputs($fp,"\n".$ip);
fclose($fp);
return 1;
}else{
$ipconnu=Array();
while (!feof($fp)) {
$ipconnu[$i] = trim(fgets($fp));
$i++;
}
fclose($fp);
$fp=fopen($fileip,"a");
if(!in_array ($ip, $ipconnu)){
fputs($fp,"\n".$ip) or die("Impossible d'écrire dans le fichier");
$ipconnu[$i]=$ip;
}
return sizeof($ipconnu);
}
}else{
$fp=fopen($fileip,"w");
fputs($fp,time());
fputs($fp,"\n".$ip);
return 1;
fclose($fp);
}
}
function totvisit(){
global $filebi;
if(file_exists($filebi)){
$fp=fopen($filebi,"r");
}else{
$fp=fopen($filebi,"w");
}
$tot=0;
while (!feof($fp)) {
$li=fgets($fp);
$lineip = explode("|",$li);
if(sizeof($lineip)==2){
$tot+=$lineip[1];
}
}
fclose($fp);
$tot+=visittoday();
return $tot;
}
totvisit();
?>
//compteur Simple
<?php
$fileip="scompteur.txt";
$filebi="scompteurtot.txt";
function visittoday(){
global $fileip, $filebi, $ip;
$fe=0;
if(file_exists($fileip)){
$fe=1;
}
$i=0;
if($fe==1){
$fp=fopen($fileip,"r") or die("Impossible d'ouvrir ou creer le compteur");
$datef=intval(fgets($fp));
if(($datef<(time()))&&(date("d",$datef)!=date("d",time()))){
$n = fgets($fp);
$fpb=fopen($filebi,"a+") or die("Impossible de créer/ouvrir le fichier global");
fputs($fpb,$datef."|".$n."\n");
fclose($fpb);
fclose($fp);
$fp=fopen($fileip,"w");
fputs($fp,time());
fputs($fp,"\n1");
fclose($fp);
return 1;
}else{
$n=intval(fgets($fp));
$n++;
fclose($fp);
$fp=fopen($fileip,"w");
fputs($fp,$datef."\n") or die("Impossible d'écrire dans le fichier");
fputs($fp,$n);
return $n;
}
}else{
$fp=fopen($fileip,"w");
fputs($fp,time());
fputs($fp,"\n1");
return 1;
fclose($fp);
}
}
function totvisit(){
global $filebi;
if(file_exists($filebi)){
$fp=fopen($filebi,"r");
}else{
$fp=fopen($filebi,"w");
}
$tot=0;
while (!feof($fp)) {
$li=fgets($fp);
$lineip = explode("|",$li);
if(sizeof($lineip)==2){
$tot+=$lineip[1];
}
}
fclose($fp);
$tot+=visittoday();
return $tot;
}
totvisit();
?>
//Compteur cookies
<?php
$fileip="ccompteur.txt";
$filebi="ccompteurtot.txt";
function visittoday(){
global $fileip, $filebi, $ip;
$fe=0;
if(file_exists($fileip)){
$fe=1;
}
$i=0;
if($fe==1){
$fp=fopen($fileip,"r") or die("Impossible d'ouvrir ou creer le compteur");
$datef=intval(fgets($fp));
if(($datef<(time()))&&(date("d",$datef)!=date("d",time()))){
$n = fgets($fp);
$fpb=fopen($filebi,"a+") or die("Impossible de créer/ouvrir le fichier global");
fputs($fpb,$datef."|".$n."\n");
fclose($fpb);
fclose($fp);
$fp=fopen($fileip,"w");
fputs($fp,time());
fputs($fp,"\n1");
setcookie("visit", "1",mktime(0,0,0,intval(date("d")),intval(date("m")),intval(date("Y")))+24*3600);
fclose($fp);
return 1;
}else{
$n=intval(fgets($fp));
if(!isset($_COOKIE['visit'])){
$n++;
setcookie("visit", "1",mktime(0,0,0,intval(date("d")),intval(date("m")),intval(date("Y")))+24*3600);
}
fclose($fp);
$fp=fopen($fileip,"w");
fputs($fp,$datef."\n") or die("Impossible d'écrire dans le fichier");
fputs($fp,$n);
return $n;
}
}else{
$fp=fopen($fileip,"w");
fputs($fp,time());
fputs($fp,"\n1");
setcookie("visit", "1",mktime(0,0,0,intval(date("d")),intval(date("m")),intval(date("Y")))+24*3600);
return 1;
fclose($fp);
}
}
function totvisit(){
global $filebi;
if(file_exists($filebi)){
$fp=fopen($filebi,"r");
}else{
$fp=fopen($filebi,"w");
}
$tot=0;
while (!feof($fp)) {
$li=fgets($fp);
$lineip = explode("|",$li);
if(sizeof($lineip)==2){
$tot+=$lineip[1];
}
}
fclose($fp);
$tot+=visittoday();
return $tot;
}
totvisit();
?>
//Affichage des stats
<?php
$fip="../compteur.txt";
$ftotip="../compteurtot.txt";
$fs="../scompteur.txt";
$ftots="../scompteurtot.txt";
$fc="../ccompteur.txt";
$ftotc="../ccompteurtot.txt";
function visittoday($type){
global $fip, $fs, $fc;
switch($type) {
case 'ip':
$fp=fopen($fip,"r") or die("Impossible d'ouvrir le compteur");
$ipconnu=Array();
while (!feof($fp)) {
$ipconnu[$i] = trim(fgets($fp));
$i++;
}
return sizeof($ipconnu)-1;
fclose($fp);
break;
case 's':
$fp=fopen($fs,"r") or die("Impossible d'ouvrir le compteur");
$datef=intval(fgets($fp));
return intval(trim(fgets($fp)));
fclose($fp);
break;
case 'c':
$fp=fopen($fc,"r") or die("Impossible d'ouvrir le compteur");
$datef=intval(fgets($fp));
return intval(trim(fgets($fp)));
fclose($fp);
break;
}
}
function visitjour($type){
global $ftotip, $ftots, $ftotc;
switch($type) {
case 'ip':
$fp=fopen($ftotip,"r") or die("Impossible d'ouvrir le compteur");
$tot=0;
$i=0;
$lineip=Array();
while (!feof($fp)) {
$li=fgets($fp);
$lineip[$i] = explode("|",$li);
if(sizeof($lineip[$i])==2){
$tot+=$lineip[$i][1];
}
$i++;
}
for($j=0;$j<$i;$j++){
if(sizeof($lineip[$j])==2){
echo date("d-m-Y :",intval($lineip[$j][0]))." ".$lineip[$j][1]." visites <br>";
}
}
$today=visittoday("ip");
$tot+=$today;
echo "<b>Aujourd'hui :</b> ".$today." visites ";
echo "<b>Total :</b> ".$tot;
fclose($fp);
break;
case 's':
$fp=fopen($ftots,"r") or die("Impossible d'ouvrir le compteur");
$tot=0;
$i=0;
$lineip=Array();
while (!feof($fp)) {
$li=fgets($fp);
$lineip[$i] = explode("|",$li);
if(sizeof($lineip[$i])==2){
$tot+=$lineip[$i][1];
}
$i++;
}
for($j=0;$j<$i;$j++){
if(sizeof($lineip[$j])==2){
echo date("d-m-Y :",intval($lineip[$j][0]))." ".$lineip[$j][1]." visites <br>";
}
}
$today=visittoday("s");
$tot+=$today;
echo "<b>Aujourd'hui :</b> ".$today." visites ";
echo "<b>Total :</b> ".$tot;
fclose($fp);
break;
case 'c':
$fp=fopen($ftotc,"r") or die("Impossible d'ouvrir le compteur");
$tot=0;
$i=0;
$lineip=Array();
while (!feof($fp)) {
$li=fgets($fp);
$lineip[$i] = explode("|",$li);
if(sizeof($lineip[$i])==2){
$tot+=$lineip[$i][1];
}
$i++;
}
for($j=0;$j<$i;$j++){
if(sizeof($lineip[$j])==2){
echo date("d-m-Y :",intval($lineip[$j][0]))." ".$lineip[$j][1]." visites <br>";
}
}
$today=visittoday("c");
$tot+=$today;
echo "<b>Aujourd'hui :</b> ".$today." visites ";
echo "<b>Total :</b> ".$tot;
fclose($fp);
break;
}
}
echo "<h2>IP :</h2><br>";
visitjour('ip');
echo "<br>";
echo "<h2>Simple :</h2><br>";
visitjour('s');
echo "<br>";
echo "<h2>Cook :</h2><br>";
visitjour('c');
echo "<br>";
?>
Conclusion
Pour faire fonctionner les compteurs faites simplement un include des fichiers compteur.php (ip) scompteur.php (compteur simple) ccompteur.php (compteur cookie) dans votre code, pour afficher le nombre de gens total passés dessus remplacez le dernier appel totvisit() par echo totvisit();.
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Compteur de visite [ par cyberastuces ]
Bonjour a tousj'ai un petit probleme avec l'un de mes compteur de visiteur, en effet lorsqu'il y a moin de 100 IP dans la base de donnée celui ci comp
Compteur de visite [ par caramelle974 ]
Salut,J'aurai besoin d'un coup de pouce.. Je dois réaliser une page en PHP qui affiche le nombre de visites.Mais lors de la réécriture ca ne fonctionn
Compteur téléchargement [ par m2rtech ]
Bonjour, Je souhaite faire un comptage de téléchargement sur un fichier précis.Ce comptage doit pouvoir se réaliser quelques soit le site ou est réali
actualiser le texte d'un fichier *.txt [ par alonsyl ]
bonjour, je cherche a afficher un compteur afin de connaitre le nombre de connexions a mon site web sans passer par un enregistrement dans mysql
Script php cookies [ par babaslow ]
Bonjour, J'aimerais savoir si vous connaissez un script php qui permet d'identifier un visiteur via un cookie et d'incrémenter un compteur pour ses
Compteur téléchargement [ par m2rtech ]
Bonjour, Je souhaite réaliser un compteur de téléchargement.Dans mon site ou depuis un lien url se trouvant sur site distant, je souhaite mesurer le n
path relatif [ par OneHacker ]
Bonjour, voici le code qui me pose problème :<?$host = $_SERVER['HTTP_HOST'];$dir = dirname($_SERVER['PHP_SELF']);$fp = fopen("http://$host$dir/..
Ajouter une ligne a un fichier texte... [ par lex1111 ]
Bonjour, j'aimerais enregistrer dans un fichier texte les ips qui passent sur mon site...Donc j'aimerais parcourir mon fichier texte et si l'ip n'est
Problème pour écrire dans un fichier [ par robapt ]
Bonjour à tous, voici mon code et je vous explique : <? $log = fopen("info.txt", "a"); $ip = $_SERVER["REMOTE_ADDR"]; $host = gethostby
Donner un nom spécial à un fichier crée en php [ par klitzounet ]
Bonjour j'aimerais ouvrir un fichier (le créer s'il n'existe pas) lorsque un visiteur ouvre l'une des pages de mon site web dans le quel des informati
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|