Pages vues et visiteurs en ligne

Salut à tous, j'aime voir si il y a des visiteurs en ligne sur mon blog lorsque je vais administrer mon blog.
Donc, ce petit script vous permet de voir le nombre de visiteurs en ligne et le nombre de pages vues.

Création de fichiers
-à la racine de votre pluxml, créer deux fichiers :
- ips.txt avec pour contenu a:0:{}
- pgsvs.txt avec pour contenu 0


Dans le fichier index.php
/* après :
# Creation de l'objet d'affichage
$plxShow = new plxShow($plxMotor);
*/

		function get_ip() {
		return isset($_SERVER['HTTP_X_FORWARDED_FOR']) ?
				$_SERVER['HTTP_X_FORWARDED_FOR'] :
				$_SERVER['REMOTE_ADDR'];
		}

		$dmd_file = fopen('./pgsvs.txt', 'r+');
		$dmd_vues = fgets($dmd_file);
		fseek($dmd_file, 0);
		fputs($dmd_file, ++$dmd_vues);
		fclose($dmd_file);
		unset($dmd_file);


		$dmd_ips = file_get_contents('./ips.txt');
		$dmd_ips = unserialize($dmd_ips);
		$dmd_moi = false;
		$dmd_i = 1;

		foreach ($dmd_ips as $dmd_element => $dmd_valeur) :
			if ($dmd_element == get_ip()) :
				$dmd_ips[get_ip()] = time();
				$dmd_moi = true;
			elseif ($dmd_valeur < time()-(60 * 4)) : unset($dmd_ips[$dmd_element]);
			else : $dmd_i++;
			endif;
		endforeach;

			if ($dmd_moi == false)  $dmd_ips[get_ip()] = time();

		file_put_contents('./ips.txt', serialize($dmd_ips));
		unset($dmd_element, $dmd_valeur,$dmd_moi);
Et dans sidebar.php (menu) ou où vous voulez :
<?php echo $dmd_i . ' visiteur' . (($dmd_i>1) ? 's' : ''); ?> en ligne
<?php echo $dmd_vues; ?> pages vues

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonsoir Pio154

    Script intéressant. Merci de nous le faire partager.
    Plutôt que d'inclure le code dans index.php, ajoute le au début du header.php de ton thème après la 1ere ligne (ou fait un include). Ainsi tu ne perdras pas tes modifs quand tu feras une mise à jour de pluxml.

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • StéphaneStéphane Member, Former PluXml Project Manager
    ha et inutile de redéfinir une fonction pour récupérer l'ip. pluxml a sa propre fonction pour ça.

    De tête...
    plxUtils::getIp()
    

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Ok, merci :)
Connectez-vous ou Inscrivez-vous pour répondre.