Forcer téléchargement d'un fichier [PHP]
adnbenji
-
adnbenji -
adnbenji -
Bonjour,
j'aimerais faire que lorsque je clique sur le lien de mon site "télécharger", n'ouvre pas le fichier (prenons par exemple: fichier.txt) mais le télécharge sur le PC...
comment faire?
si vous me passez des scripts SVP, dites moi où le mettre sur quelle page?
merci de votre aide.
j'aimerais faire que lorsque je clique sur le lien de mon site "télécharger", n'ouvre pas le fichier (prenons par exemple: fichier.txt) mais le télécharge sur le PC...
comment faire?
si vous me passez des scripts SVP, dites moi où le mettre sur quelle page?
merci de votre aide.
A voir également:
- Forcer téléchargement d'un fichier [PHP]
- Forcer la suppression d'un fichier - Guide
- Forcer demarrage pc - Guide
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier epub - Guide
2 réponses
$filename = 'dummy.zip';
$filename = realpath($filename);
$file_extension = strtolower(substr(strrchr($filename,"."),1));
switch ($file_extension) {
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpe": case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default: $ctype="application/force-download";
}
if (!file_exists($filename)) {
die("NO FILE HERE");
}
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Type: $ctype");
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".@filesize($filename));
set_time_limit(0);
@readfile("$filename") or die("File not found.");
Le probleme est que j'ai un systeme de partage de fichier et que celui ci ne télécharge pas directement les fichiers mais les ouvres, donc pour Downlaoder les fichier, j'ai effectuer ceci(sur la page de mon partage de fichier):
se qui me fait un lien "Télécharger" qui envoye "
et sur dl.php:
et ça me met:
NO FILE HERE
<td align="center"> <a class="lien" href="' . $protocol . 'away.dowtek.fr/in/dl.php?file=' . $file . '&path='. $protocol . 'monsite.fr/' . strstr($path, 'away') . '"><img src="include/dl.png"> Télécharger</td>
se qui me fait un lien "Télécharger" qui envoye "
file=nom du fichier&path=repertoire du fichier
et sur dl.php:
$filename = $_GET['file'];
$filename = 'mondite.fr/' + strstr(realpath($filename),'away');
et ça me met:
NO FILE HERE