Compteur sur free

Bonjour à tous !

Me revoici avec un nouveau problème qui me tient à coeur depuis qq temps ( 3 ans...).
Je me suis à nouveau reconfronté à celui hier :

Je viens de créer un site perso sans gros intéret, (je me suis d'ailleurs pas géné de le faire avec toweb...et oui à ce point^^). Mais je compte y mettre un compteur de téléchargement pour connaitre à quels fichiers seront le plus télécharger (bien sur ^^).

Je sais pas trop comment faire, je veux y mettre mon compteur (tout con en lettre "style : 2331"). Je sais pas comment faire...Je sais que certains y sont arrivés...on parle de chmod...ect moi je tilte rien...ou pas grand chose

--

Vivre, c'est rien. Mais c'est tellement...
Configuration: Windows Vista
Firefox 2.0.0.9

2 réponses

  1. merci pour ta réponse rapide. Je regarde ça et je te tiens au courant !

    @+
    1. Contributeur
      Pour cela, il faut que tu connaisses un peu php/sql ... sans quoi tu n'y arrivera pas.
      Voici un exemple de script permettant de télécharger une image, et de compter le nombre de téléchargements :

      1) La table mysql:
      # Création d'une table pour un petit album photo 
      
      CREATE TABLE Album 
      (id           INTEGER AUTO_INCREMENT NOT NULL,
         description  TEXT,
         compteur      INTEGER DEFAULT 0,
         PRIMARY KEY (id)
      )
      ;

      2) Le code html (un lien dans lequel tu attribues l'identifiant du fichier - ici ce sera la photo n°14) :
      <a href='ChargerPhoto.php?id=14'>Télécharger cette photo</a>

      Bien évidemment, l'idéal est de gérer la liste des fichiers à télécharger de façon dynamique en les lisant dans la table...

      3) Le fichier ChargerPhoto.php :
      <?php
      
      // Variables
      define ('LOGIN',"ton_login");
      define ('MDP',"ton_mdp");
      define ('SERVEUR',"ton_serveur_sql");
      define ('BASE', "ta_base");
      
      function Connexion ($Nom, $MotDePasse, $Base, $Serveur)
      	{
      	 // Connexion au serveur : erreur
      	 $connexion = mysql_connect ($Serveur, $Nom, $MotDePasse);
      	 
      	 if (!$connexion)
      		{
      		 echo "Désolé, la connexion au serveur " . $Serveur . " est imposible.\n";
      		 exit;
      		}
      	 
      	 // Connexion à la base de données : erreur
      	 if (!mysql_select_db ($Base, $connexion))
      		{
      		 echo "Désolé, la connexion à la base " . $Base . " est impossible.<br />\n";
      		 echo "Message de MySQL : " . mysql_error($connexion);
      		 exit;
      		}
      	 
      	 // On renvoie la variable de connexion
      	 return $connexion;
      	}
      
      function ExecRequete ($requete, $connexion)
      	{
      	 $resultat = mysql_query ($requete, $connexion);
      	 
      	 if ($resultat)
      		 return $resultat;
      	 else
      		{
      		 echo "Erreur dans l'éxécution de la requête '$requete'.<br />\n";
      		 echo "Message de MySQL : " . mysql_error($connexion);
      		 exit;
      		}
      	}
      
      
        // Téléchargement d'une photo identifiée par $_GET['id']
        // On commence par incrémenter le compteur
      
        $connexion = Connexion (LOGIN, MDP, BASE, SERVEUR);
        $requete =  "UPDATE Album SET compteur=compteur+1 "
                  . "WHERE id='{$_GET['id']}'";
        $resultat = ExecRequete ($requete, $connexion);
      
        //  On envoie un en-tête forçant le transfert (download)
      
        $fichier = "PHOTOS/" . $_GET['id'] . ".jpg"; // Dans cet exemple, tous les fichiers sont dans le répertoire "PHOTOS" et leur nom est identique à leur identifiant, suivi de .jpg
        header ("Content-type: application/force-download");
        header ("Content-disposition: filename=$fichier");
      
        // Après l'en-tête on transmet le contenu du fichier lui-même
        readFile ($fichier); 
      
      ?>