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 !

COMPTEUR DE VISITES AVEC IMAGE PNG


Information sur la source

Catégorie :Divers Classé sous : compteur, nombre, visites, page, vues Niveau : Débutant Date de création : 03/09/2007 Date de mise à jour : 20/09/2007 08:37:54 Vu / téléchargé: 9 681 / 459

Note :
5,5 / 10 - par 2 personnes
5,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Bonjour,
j'ai créé un compteur de visite, dont vous pouvez changer les couleur du fond et du texte.
Si le naviguateur n'accepte les images, le nombre de visites s'affiche sous forme de texte !
Merci de donner votre avis, et soyez indulgent, c'est ma première source PHP !
 

Source

  • <?
  • if (file_exists("compteur.txt"))
  • {
  • $compteur = fopen('compteur.txt', 'r+');
  • $vu = fgets($compteur);
  • }
  • else
  • {
  • $compteur = fopen('compteur.txt', 'a+');
  • $vu = 0;
  • }
  • //ecriture du nombre de visites dans un fichier txt
  • $vu++;
  • fseek($compteur, 0);
  • fputs($compteur, $vu);
  • fclose($compteur);
  • $image = imagecreate(200,50);
  • //changer le couleur du fond (R,V,B)
  • $couleur= imagecolorallocate($image, 183, 213, 189);
  • //changer la couleur du texte (R,V,B)
  • $couleurtexte= imagecolorallocate($image, 255, 255, 255);
  • imagestring($image, 4, 35, 15, $vu, $couleurtexte);
  • imagepng($image, "compteur.png");
  • ?>
  • <!--Compteur de Luc@s -->
  • <img src='compteur.png' alt='<? echo "page vue $vu fois"; ?>'/>
<?
if (file_exists("compteur.txt"))
{
$compteur = fopen('compteur.txt', 'r+');
$vu = fgets($compteur); 
}

else
{
$compteur = fopen('compteur.txt', 'a+');
$vu = 0; 
}

//ecriture du nombre de visites dans un fichier txt
$vu++; 
fseek($compteur, 0); 
fputs($compteur, $vu); 

fclose($compteur);
$image = imagecreate(200,50);
//changer le couleur du fond (R,V,B)
$couleur= imagecolorallocate($image, 183, 213, 189);
//changer la couleur du texte (R,V,B)
$couleurtexte= imagecolorallocate($image, 255, 255, 255);
imagestring($image, 4, 35, 15, $vu, $couleurtexte);
imagepng($image, "compteur.png"); 

?>
<!--Compteur de Luc@s -->
<img src='compteur.png' alt='<? echo "page vue $vu fois"; ?>'/>

Conclusion

Je vais essayer de mettre les codes pour d'autres couleurs.


 

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

Historique

05 septembre 2007 10:28:41 :
Vérif du code
20 septembre 2007 08:37:54 :
verif

Commentaires et avis

signaler à un administrateur
Commentaire de Flachy Joe le 03/09/2007 19:39:37

Le niveau débutant n'est pas destiné aux sources DES débutants mais aux sources POUR débutants, il faut donc qu'elles aient un minimum d'intérêt pour ceux qui vont la regarder.

Merci.

signaler à un administrateur
Commentaire de coucou747 le 03/09/2007 21:29:35

faudrait au moins faire deux fichiers pour ca...

signaler à un administrateur
Commentaire de codefalse le 03/09/2007 23:11:50 administrateur CS

rhaa ce que vous êtes méchants :p

lucas74 : Ce qui serait préférable, c'est que tu fasse, comme Coucou747 l'a dit, deux fichiers.
Je sais pas s'il pense comme moi, mais ce serait mieux de generer l'image à la volée sans l'enregistrer en dur, ca t'évite un temps d'accès inutilement. Tu fait un fichier generate_img.php (par ex), qui genere l'image en fonction du nombre de visiteur, et au final il affiche l'image (modification de l'en-tête pour afficher une image)
Ensuite dans ta page principale, tu n'a qu'a faire <img src="generate_img.php" alt="Visiteurs" /> et tu a ton image qui apparait correctement.

Ensuite, afin de clarifier ton code, a ta place je mettrait l'action de lecture/écriture dans des fonctions, afin de pouvoir les modifiers à ta guise (si demain tu veux utiliser une base de donnée plutot qu'un fichier, tu pourra le modifier plus simplement)

Ensuite, essaye de generer une image qui aie les proportions par rapport au nombre de visiteurs. Quand on regarde ton screenshots, ca donne pas trop envie, le texte n'est pas axé par rapport aux dimensions de l'images.

Ensuite, même idée, tu peux faire une fonction qui crée une image avec comme parametre le nombre de visiteurs, puis le code couleur (optionel).

Au final trois fonctions

$iNombreVisiteurs = VisitorsCount (); (ou VisitorsCount ('MonFichier.txt');)
VisitorsUpdate ($iNombreVisiteurs++); (ou VisitorsUpdate ($iNombreVisiteurs++, 'NomDufichier.txt');)

$sImage = GenerateImg ($iNombreVisiteurs, array (183, 213, 189));

header ('Modification des entetes pour afficher une image (je me rapel plus c'est quoi !');
echo $sImage;


Et voila !
Bien entendu, c'est une méthode possible, comme une autre ! :)

signaler à un administrateur
Commentaire de coucou747 le 03/09/2007 23:59:43

c'est effectivement a ca que je pensais
pour la fonction par contre, je ne suis pas trop d'accord... l'interret de la fonction, c'est de pouvoir l'appeller plusieurs fois en une seule requete http... ici, c'est pas possible...

ensuite, obtennir l'image dans une chaine, avec gd, faut jouer avec ob_start et c'est crade...

par contre, faire un fichier php qui prendrait comme parametre le nombre de visiteurs, ca peut-etre pas mal

echo '<img src="compteur.php?nbrvisites='.$nbr.'" alt="'.$nbr.' visiteurs"/>';

signaler à un administrateur
Commentaire de codefalse le 04/09/2007 00:03:24 administrateur CS

"pour la fonction par contre, je ne suis pas trop d'accord... l'interret de la fonction, c'est de pouvoir l'appeller plusieurs fois en une seule requete http... ici, c'est pas possible..." => tu parle de quelle fonction ?

pour l'image et ob_start, pas forcément, puisque techniquement dans le fichier, il n'y aura pas de texte avant son affichage (puisqu'il ne va afficher que l'image)
techniquement, il y aura :
fonction récuperer le nbr de visiteurs
fonction uploader nbr de visiteurs
fonction création de l'image
header ();
header ();
echo retour de fonction;

Après c'est vrai que le fait de faire un fichier qui genere l'image, et un autre qui s'occupe du compteur, c'est plus sympa :)

signaler à un administrateur
Commentaire de coucou747 le 04/09/2007 00:06:51

la fonction GenerateImg est inutile selon moi...

dans ton precedant message, t'avais update du nombre de visiteurs, la t'as fonction uploader nbr de visiteurs... a mon avis, tu voulais dire update non ?

signaler à un administrateur
Commentaire de codefalse le 04/09/2007 00:07:55 administrateur CS

euh oué, pardon :)

signaler à un administrateur
Commentaire de lucas74 le 05/09/2007 10:32:38

Ok merci pour vos conseils pour vos avis pour le moins décourageants ^^
Je vais essayer d'améliorer ca !
Sinon l'image php j'y avait pensé mais j'ai préféré l'enregistré sur le disque, allez savoir pourquoi.
a+

signaler à un administrateur
Commentaire de lucas74 le 05/09/2007 10:34:31

Euh, pour la simplicité deconcertante de l'image, c'est pour éviter d'arriver aux compteur vulgaires aux couleurs affreuses non paramérables qu'on trouve aujourd'hui sur internet. Celui ci est discret.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

probleme phpsessid [ par soothsayer ] Bonjour,j'ai un petit soucis que je ne parviens pas à résoudre:sur l'index de mon site (page d'accueil avec compteur de visites "basique" en php )lors Compteur de visites unique [ par must ] Salut comment faire un compteur de visites qui pourrait compter une seule fois la visite d'une page,c'est à dir si la personne reviens dix fois sur la ## variable et formulaire [ par kodiask ] voila j'explik le pb alor je veu fair eun sondage pour mon site avec une parti admin pour celui-ci alor g fai un page ou l'on choisi ses option (nom compteur d'acces a une image [ par franco_se ] bonjourje voudrais savoir s'il est possible de compter le nombre d'appel d'une image par un site distant?en fait, j'utilise une image sur un forum, et Compteurs de visites et Google Bot [ par MadM@tt ] Salut à tous,Voilà j'ai récemment installé des compteurs divers sur un site (Xiti gratuit, compteur de visites principal et compteur de téléchargement un compteur juste pour moi. [ par toff63 ] Bonsoir,Nouveau sur ce site et débutant en php, je tiens d'abord à vous féliciter de la richesse de celui ci.Voilà ma question:Je cherche à comptabili PHP et javascript [ par zilachi ] Bonjour,Un utilisateur selectionne un nombre n dans une liste déroulante.Ce nombre n va générer avec php n champs dans la page suivante.Sur cette page Compteur telechargement [ par draluorg ] Salut a tous,J'ai un petit blog ipb sur le quel je publie des ptits softs que je cré mais la limite de la taille pour l'upload de fichier joint est de ouverture page apres x clics [ par gzt ] bonjourj'aimerais crer un compteur sur une page bien precise et qu'une autre page s'ouvre au bout de X ouverture de la premiere pageest il possible de Souci pour un affichage multipage [ par smitchel ] Salut tout le monde, voila j'ai essayer de créer un systeme de news avec un affichage multipage (pas terminé encore) dans l'ensemble j'ai reussi a fai


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,31 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.