Compteur de clics

Contenu du snippet

Ceci est un compteur de clics assez simple séparé en deux parties, un fichier "download.php" qui doit être situé à la racine du site et une fonction, get_clicks() qui permet de récupérer le nombre de clics.
Je vous mets un exemple pour comprendre son utilisation :

J'ai un fichier "test.zip" dont l'adresse relative à partir de la racine est "downloads/test.zip".
Dans ma page de téléchargement, je fais un lien du genre <a href="download.php?url=downloads/test.zip">Télécharger</a>.
Pour afficher le nombre de clics associé au fichier, il suffit de faire un <?php print get_clicks('downloads/test.zip') ?>

Voilà ! J'espère que vous avez compris ! Notez que ce script et très sommaire mais il peut en éclairer certains. Vous pouvez aussi l'adapter à votre goût, car dans le cas présent, il n'accepte que les URL relatives. Il y a seulement une modification à faire (au niveau du header()) pour qu'il accapte également les URL absolues. Je vous laisse vous débrouiller !

Source / Exemple :


DÉBUT DU SCRIPT "download.php"

<?php

/* Téléchargement avec mise à jour du compteur de clics

  • ============================================================
  • Auteur : Dean
  • Version : 2.0b3 (08-12-2002)
  • ============================================================
  • /
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . ' GMT'); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0', false); header('Pragma: no-cache'); $clicks_file = 'clicks/' . rawurlencode($_GET['url']) . '.txt'; // Crée le compteur s'il n'existe pas if(!file_exists($clicks_file)) fclose(fopen($clicks_file, "w")); // Incrémente le compteur $fp = fopen($clicks_file, 'r+'); $clicks = fread($fp, 9) + 1; rewind($fp); fwrite($fp, $clicks); fclose($fp); // Effectue la redirection vers le fichier header('Location: http://' . $_SERVER['HTTP_HOST'] . '/' . dirname($_SERVER['PHP_SELF']) . '/' . $_GET['url']); ?> FIN DU SCRIPT "download.php" FONCTION POUR RÉCUPÉRER LE NOMBRE DE CLICS <?php function get_clicks($file) { $clicks_file = 'clicks/' . rawurlencode($file) . '.txt'; return file_exists($clicks_file) ? join('', file($clicks_file)) : 0; } ?>

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.