Lister fichier + forcer téléchargement

djimson Messages postés 217 Statut Membre -  
djimson Messages postés 217 Statut Membre -
Bonjour,

De l'aide pour ce script:
lister.php

 <?php
    
    
     // ********************************************
     // Accès au repertoire
     // ********************************************
     $chemin="./cours/";
     $handle_du_repertoire_ouvert=opendir($chemin);
    
     // ********************************************
     // Boucle réccupérant toute les entrées contennu dans le répertoire
     // ********************************************
     $sortie_de_la_boucle=false; // Initialise la boucle
     while ($sortie_de_la_boucle==false)
     {
     // ********************************************
     // Récupère les entrées contenu dans le repertoire une par une
     // ********************************************
     $entree=readdir($handle_du_repertoire_ouvert); // Readdir lit le fichier suivant dans un dossier
    
     // ********************************************
     // Condition de sortie de la boucle
     // ********************************************
     if ($entree=="")
     $sortie_de_la_boucle=true;
     else
     // ********************************************
     // Affichage
     // ********************************************
     if (($entree!=".")&&($entree!="..")) // N'affiche pas les . et ..
     if (is_dir($entree)!=1) // N'afiche pas les répertoires
     if (($entree!="index.php")&&($entree!="dir.php")) // N'affiche pas les fichiers selectionnés
	 echo"<a href='download.php?chemin='".$chemin.$entree."'&filename=".$entree."'>download</a><br>
";
     }
    
     ?>


download.php

<?php
$file = .$chemin.$entree;
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
header('Content-disposition: filename="' . basename($file) . '"');
readfile($file);

?>


Je precise que je veux downloader tous sortes de fichiers sauf .php, .html

Merci


A voir également:

4 réponses

Reivax962 Messages postés 3742 Statut Membre 1 011
 
Bonjour,

Quelle est la question / le problème ?

Xavier
0
djimson Messages postés 217 Statut Membre 3
 
Désolé, j'ai oublié.
En fait, je veux forcer le téléchargement des fichiers envoyer par FTP dans le répertoire COURS.
Alors, j'arrive à lister les fichiers et mettre le lien mais quand je clique sur download, il ne télécharge pas le fichier mais le script dowload.php.

Merci de l'aide
0
Reivax962 Messages postés 3742 Statut Membre 1 011
 
Je pense que le problème vient de « $file = .$chemin.$entree; »
Il y a un . en trop devant $chemin.
À mon avis, cela génère une erreur php, qui du coup casse tous les header que tu places derrière...

Tu t'es inspiré de cette page ?
https://www.php.net/manual/fr/function.readfile.php
L'exemple ressemble beaucoup à ce que tu fais, mais il y a deux-trois choses en plus, notamment des tests et des vidage du tampon de sortie.
Essaie de compléter avec ça :)
0
djimson Messages postés 217 Statut Membre 3
 
Merci mais ca passe tjrs pas. ne ne trouve pas le fichier dc ca telecharge la page download.php. Je comprend rien
0