Menu

PHP forcer téléchargement de fichier (script) [Fermé]

adnbenji - 22 avril 2011 à 06:48 - Dernière réponse : boly38 271 Messages postés mercredi 23 février 2011Date d'inscription 29 septembre 2016 Dernière intervention
- 26 avril 2011 à 09:18
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
Afficher la suite 

3 réponses

boly38 271 Messages postés mercredi 23 février 2011Date d'inscription 29 septembre 2016 Dernière intervention - 22 avril 2011 à 16:48
0
Utile
2
déjà résolu ici : http://www.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é..
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é.
boly38 271 Messages postés mercredi 23 février 2011Date d'inscription 29 septembre 2016 Dernière intervention - 26 avril 2011 à 09:18
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..