Gestion et contrôle de téléchargements

Antoine Hérault

Dans ce tutoriel, vous allez apprendre à gérer et à contrôler des téléchargement de fichiers.
Nous allons voir ensemble comment compter les téléchargements d'un fichier et comment créer une page de téléchargement unique.

- Titre : Gestion et contrôle de téléchargements

- Auteur : Antoine Hérault

- Parution : 30 octobre 2006

- Mise à jour : 30 octobre 2006

- Licence : Ce document est issu de https://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur ( http://www.lahacheweb.com ).

Sommaire

- 1. Préface

- 2. Les bases de la gestion et du contrôle de téléchargements

- 2-0. Rangement et indexation

- 2-1. Créer une liste des fichiers

1 - Préface

Bonjour à toutes et à tous !
Dans cet article nous allons voir comment gérer et contrôler des téléchargements de fichiers.
Nous allons voir ensemble comment faire pour compter le nombre de téléchargements d'un fichier, le limiter, etc...
Dans une première partie nous aborderons les bases. Ensuite, nous verrons des exemples d'utilisation. ;o)

2 - Les bases de la gestion et du contrôle de téléchargements

2-0 - Rangement et indexation

Pour correctement gérer et contrôler des téléchargements, il faut commencer par correctement les ranger et par les indexer dans par exemple une base de données.
Pour ce tutoriel, nous allons ranger les fichiers dans un dossier "fichiers" et nous allons enregistrer les informations sur celui-ci dans une base de données.
Voici un exemple de ce à quoi pourrait ressembler cette table.

Id

Nom

Fichier

Telechargements

1

Le fichier n°1

fichier1.jar

1432

2

Le fichier n°2

fichier2.rar

1232

3

Le fichier n°3

fichier3.cpp

1768

...

...

...

...

Vous avez certainement remarqué le champ "Téléchargements" qui est en fait le nombre de fois où le fichier a été téléchargé.
Voici la requête SQL que nous allons utiliser pour créer cette table :

Table fichiers pour pouvoir suivre ce tutoriel

CREATE TABLE `fichiers` (
`id` BIGINT NOT NULL AUTO_INCREMENT ,
`nom` TEXT NOT NULL ,
`fichier` TEXT NOT NULL ,
`telechargements` BIGINT NOT NULL ,
INDEX ( `id` )
) ENGINE = innodb;

Une fois que vous aurrez terminé, vous pourrez mettre quelques fichiers dans le dossier "fichiers" puis remplir la table de la manière suivante :
id : laissez vide car il s'incrémente automatiquement.
nom : donnez un nom au fichier.
fichier : donnez le nom réel du fichier tel qu'on le trouve dans le dossier "fichiers" avec son extension.
telechargements : laissez vide car il se mettra à la valeur 0 par défault.

2-1 - Créer une liste des fichiers

Une fois que vous avez correctement rangés et indexés vos fichiers, nous allons pouvoir passer à la suite !
Pour faciliter l'exploitation de notre script, nous allons créer une liste des fichiers avec un lien permettant de les télécharger.
Ce lien pointera vers la page "telecharger.php?id=id_du_fichier" où id_du_fichier est l'id du fichier en question.
Le code de la liste n'est pas compliqué, je vais donc vous le donner tout de suite et le commenter ensuite :

<?php
//On commence par se connecter à la base de données
mysql_connect('serveur', 'utilisateur', 'motdepasse');
mysql_select_db('base');
//On sélectionne toutes les entrées de la tables des fichiers
$retour = mysql_query('SELECT * FROM fichiers');
//Ensuite on afficher la liste de fichiers
while($donnees = mysql_fetch_assoc($retour)) {
echo '[<a href="telecharger.php?id='.$donnees['id'].'">Télécharger</a>] '.$donnees['nom'].' (Déjà téléchargé '.$donnees['telechargements'].' fois)<br />';
}
//On n'oublie pas de fermer la connexion SQL
mysql_close();
?>