PHP forcer téléchargement de fichier (script)
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:
--------------------------------------------------------------------------------------------------------------------
path = http://monsite.fr/(repertoire du fichier)
et
file=(Nom du fichier)
--------------------------------------------------------------------------------------------------------------------
merci de votre aide
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
-
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é..-
-
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..
-