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 :
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();
?>