PHP forcer téléchargement de fichier (script)

adnbenji -  
boly38 Messages postés 267 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'aimerais s'il vous plait que l'on puisse me créer un script pour forcer le téléchargement d'un fichier (n'importe extension), avec les variable envoyé par GET suivante:
<a class="lien" href="' . $protocol . 'monsite.fr/in/dl.php?file=' . $file . '&path='. $protocol .'monsite.fr/' . strstr($path, 'away') . '">   

--------------------------------------------------------------------------------------------------------------------

path='. $protocol .'monsite.fr/' . strstr($path, 'away') . '
=
path = http://monsite.fr/(repertoire du fichier)

et

file=' . $file . '
=
file=(Nom du fichier)
--------------------------------------------------------------------------------------------------------------------
merci de votre aide

1 réponse

  1. boly38 Messages postés 267 Date d'inscription   Statut Membre Dernière intervention   80
     
    déjà résolu ici : https://forums.commentcamarche.net/forum/affich-2165116-php-forcer-le-download
    cf. le header php "Content-Type: application/force-download
    NB: attention car ce genre de script peut très vite représenter une faille de sécurité..
    0
    1. Adnbenji
       
      J'ai déjà été voir et ça ne fonctionne pas car meme si je met n'importe quoi Le fichier n'est pas trouvée
      De plus:
      CELA ne répond pas a ma question
      J'aimeraidS un script déjà fait avec les variable que J'ai donné.
      0
    2. boly38 Messages postés 267 Date d'inscription   Statut Membre Dernière intervention   80
       
      pour CELA je créerai une fonction comme celle-ci qui recherche le fichier en question
      function findFile($basename, $targetdir) {  
       // definition des extensions recherchées  
       $allowedExt = array('txt', 'pdf','jpg');  
       // listing du répertoire cible  
       // src : http://php.net/manual/fr/class.dir.php  
       $d = dir($targetdir);  
       // pour chaque entrée  
       while (false !== ($entry = $d->read())) {  
        // pour chaque extension  
         foreach($allowedExt as $ext) {  
           $filename =  $basename . "." . $ext;  
           // le fichier avec l'extension courante existe-t-il ?  
           if (is_readable($filename)) {  
             $d->close();  
              // au premier fichier correspondant retour du nom du fichier  
             return $filename;  
           }  
         }  
       }  
       $d->close();  
       // aucun fichier n' a été trouvé, FALSE est retourné 
       return FALSE;  
      }  
      


      par rapport à la demande, pour spécifier le répertoire de recherche (2e argument) on pourra procéder ainsi :
      $curentPath = dirname(__FILE__) 
      $targetdir = $curentPath . "/" . $path; 
      


      on peut faire une solution qui colle parfaitement à la demande maintenant on peut aussi essayer de comprendre comment çà marche..
      0