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
| <?php
$tableau = explode (".", $file);
$nb_element_1 = count ($tableau) -1;
if ($tableau[$nb_element_1] != "php") {
header("Content-disposition: attachment; filename=$file");
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize("./fichiers/".$file));
header("Pragma: no-cache");
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
header("Expires: 0");
readfile("./upload/".$file);
}
else {
header("Location: index.php");
}
?>
-------------------------------------------------------------------------
Le code permettant d'afficher la liste des fichiers a telecharger sur la page de l'utilisateur est le suivant :
// on ouvre le répertoire
$dossier = opendir ("./upload/");
// on regarde tous les éléments du dossier
while ($fichier = readdir ($dossier)) {
// on teste la valeur de l'élément
if ($fichier != "." && $fichier != "..") {
$tableau = explode (".", $fichier);
$nb_element_1 = count ($tableau) - 1;
if ($tableau[$nb_element_1] != "php") {
// si l'élément est bien un fichier (différent de . et de ..), et que sont extension n'est pas php, on affiche un lien vers notre script de téléchargement (download.php) avec en paramètre le nom du fichier à télécgarger
echo '<a href="./download.php?file='.$fichier.'">'.$fichier.'</a><br />';
}
}
}
// on ferme le dossier
closedir ($dossier); |
Partager