IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Compteur De Téléchargement


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 74
    Par défaut Compteur De Téléchargement
    Bonjour,
    J'ai déposé un fichier APK sur mon site et je souhaiterais connaître le nombre de téléchargement de celui-ci en l'affichant la valeur prêt du bouton téléchargement.
    Pouvez-vous me donner des infos, sources ou tutos sur comment faire.
    Je vous remercie d'avance.

  2. #2
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 422
    Par défaut
    Voila ce que j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    <?php
    	$filesdir = 'feuilles classeur/'; 
     
    // Connexion MySQL
    		require_once('../connex_mysqli/connex_base_gene.php'); 
    // Récupération du fichier passé en paramètre
     
    	//sécurisation de la valeur $_get
    	$query = "SELECT * FROM telechargement";
    	$result = mysqli_query($base_gene, $query);
    	$nb_ligne = mysqli_num_rows($result)+1;
     
    	if (!isset($_GET['f'])) $_GET['f'] = 1;
    	if(is_numeric($_GET['f'])===false || $_GET['f']>$nb_ligne || $_GET['f']<0)$_GET['f'] = 1;
    	$id_fichier = (isset($_GET['f'])) ? trim(intval(sprintf("%d", $_GET['f']))) : 0;
     
    	// est-ce que ce fichier existe ?
    	$req_testFichierExiste = $base_pdo->prepare("SELECT id, filename, downloaded FROM telechargement WHERE id= :idFichier LIMIT 1");
    	$req_testFichierExiste->execute(array('idFichier' => $id_fichier));
     
    	$fichier_existe = false; $fichier = array();
    	while ($test = $req_testFichierExiste->fetch())
    	{
    		if ((isset($test['filename'])) && ($test['filename'] != ''))
    		{
    			$fichier_existe = true;
    			$fichier = $test;
    			break;
    		}
    	}
    	$req_testFichierExiste->closeCursor();
     
    	if ($fichier_existe == false)
    		die('Fichier non trouvé.');
     
     
    	// ici nous sommes sûrs que le fichier n°XXX existe bien en base de données
    	// IMPORTANT : avant quoi que ce soit, on vérifie que le fichier existe aussi sur le serveur
    	// (et pas seulement en base de données)
    	if ((file_exists($filesdir . $fichier['filename'])) && (is_file($filesdir . $fichier['filename'])))
    	{
    		// Le fichier existe bien : on va incrémenter son compteur de téléchargements
    		$req_augmenterTelechargements = $base_pdo->prepare("UPDATE telechargement SET downloaded = (downloaded+1) WHERE id= :idFichier");
    		$req_augmenterTelechargements->execute(array(':idFichier' => $id_fichier));
     
    		// requête effectuée : on envoie le fichier
    		header('Content-Description: File Transfer');
    		header('Content-Type: application/octet-stream');
    		header('Content-Disposition: attachment; filename="'.$fichier['filename'].'"');
    		header('Content-Transfer-Encoding: binary');
    		header('Expires: 0');
    		header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    		header('Pragma: public');
    		header('Content-Length: ' . filesize($filesdir . $fichier['filename'])); //Absolute URL
    		ob_clean();
    		flush();
    		readfile($filesdir . $fichier['filename']); //Absolute URL
    		exit();
    	}
    ?>
    Sur la page , chaque fichier est relié par un lien comme ceci <a href="download.php?f=2">xxx</a> f2 étant l'index de la table

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 74
    Par défaut
    Bonjour Michel71,

    Merci pour ton aide mais je suis débutant, peut-tu stp me donner pas à pas la marche à suivre pour la mise en place.

Discussions similaires

  1. compteur de téléchargements
    Par laurentSc dans le forum Général Conception Web
    Réponses: 6
    Dernier message: 18/02/2010, 22h00
  2. Compteur de téléchargements
    Par mt2sr dans le forum Langage
    Réponses: 3
    Dernier message: 22/12/2008, 21h55
  3. Compteur de téléchargement
    Par _ash_ dans le forum Débuter
    Réponses: 2
    Dernier message: 10/12/2008, 18h05
  4. Compteur de téléchargements
    Par CUCARACHA dans le forum ASP.NET
    Réponses: 3
    Dernier message: 22/02/2008, 10h11
  5. [Système] Problème avec compteur de téléchargement
    Par Baptiste Wicht dans le forum Langage
    Réponses: 24
    Dernier message: 24/06/2006, 08h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo