Compteur sur free

Fermé
stajem Messages postés 371 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 20 juin 2011 - 7 nov. 2007 à 00:10
stajem Messages postés 371 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 20 juin 2011 - 8 nov. 2007 à 18:43
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



A voir également:

2 réponses

gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 329
7 nov. 2007 à 01:08
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); 

?>

0
stajem Messages postés 371 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 20 juin 2011 79
8 nov. 2007 à 18:43
merci pour ta réponse rapide. Je regarde ça et je te tiens au courant !

@+
0