Php: forcer le download

Résolu/Fermé
LezardMoo Messages postés 554 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 21 janvier 2015 - Modifié par LezardMoo le 30/04/2012 à 23:17
the_animal Messages postés 69 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 27 juillet 2013 - 10 mai 2012 à 11:40
Bonsoir tout le monde !!!

j'ai un petit problème pour forcer le download d'un fichier txt en php.

j'ai utilisé pas mal de bout de code donc je vous met celui que j'ai a l'instant t

telecharger.php

<?php 
$mm_type="application/octet-stream"; 
$fichier = '$_GET['fichier']'; 
  
header("Cache-Control: public, must-revalidate"); 
header("Pragma: hack"); 
header("Content-Type: " . $mm_type); 
header("Content-Length: " .(string)(filesize($fichier)) ); 
header('Content-Disposition: attachment; filename="'.basename($fichier).'"'); 
header("Content-Transfer-Encoding: binary\n"); 
  
$fp = fopen($fichier, 'rb'); 
$buffer = fread($fp, filesize($fichier)); 
fclose ($fp); 
  
print $buffer; 
?> 

la page est placée dans le dossier qui contient les fichiers txt.

le lien qui pointe vers cette page
<a href="notes/download.php?fichier=<?php echo ($donnee['reseau']); ?>">download</a>

je ne comprend pas, quand je clique sur le lien, j'ai bien le nom du fichier dans le param url

download.php?fichier=WIN2K8.txt (par exemple)

et page blanche. pas de boite de dialogue pour le téléchargement.

Merci d'avance à tous

A voir également:

6 réponses

the_animal Messages postés 69 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 27 juillet 2013 18
1 mai 2012 à 12:30
A première vue, il y aune erreur sur la ligne 3:
$fichier = '$_GET['fichier']'; 

remplace la ligne en:
$fichier = $_GET['fichier']; 
1
LezardMoo Messages postés 554 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 21 janvier 2015 14
1 mai 2012 à 15:14
Merci the_animal

malheureusement toujours le même problème. je me demande si ca ne viens pas de mon serveur...
0
theshadoo Messages postés 786 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 3 mai 2016 123
2 mai 2012 à 02:36
es tu certains d'avoir bien spécifié le bon chemin ? et d'avoir bien le fichier .txt dans le bon emplcament ?

Car tu as une page blanche mais pas d'erreur donc il es probable que pour moi vue les informations que tu as fournit cela soit un problème de chemin de fichier à télécharger
0
LezardMoo Messages postés 554 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 21 janvier 2015 14
7 mai 2012 à 11:48
hi!
j'avais pas vu tas reponse.

Ben pour le chemin je suis sure su'il est good parceque c'est le meme chemin pour visionner le fichier dans le navigateur (ya un icone dl et un icone visualiser, ce dernier fonctionne (a part pour les pdf xD)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LezardMoo Messages postés 554 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 21 janvier 2015 14
Modifié par LezardMoo le 9/05/2012 à 16:33
up s'il vous pleaz, un peu d'aide.

j'ai essayé avec tout les headers possibles et tout les bout codes trouvable sur notre bon vielle amis GG
0
the_animal Messages postés 69 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 27 juillet 2013 18
9 mai 2012 à 17:52
en fait le script marche très bien, peut être un problème du serveur? (configuration, permission, etc..)
0
LezardMoo Messages postés 554 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 21 janvier 2015 14
9 mai 2012 à 17:56
ben figure toi que c'est ce que je me dit, mais je ne voit pas de quel service viendrais le problème, PHP? apache?

pour les prob de droits, j'ai rencontré ce problème pour l'upoload donc j'ai modifier les droit du dossier, le meme pour l'up et le down dinc ce n'est pas ca.
0
the_animal Messages postés 69 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 27 juillet 2013 18
9 mai 2012 à 19:11
vas voir l'error.log ou mets le code ci-dessous au debut du script et remets ici l'erreur:
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
0
LezardMoo Messages postés 554 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 21 janvier 2015 14
9 mai 2012 à 20:14
j'ai honte de moi, les logs non actif >.<

et le code erreur ne m'affiche rien...
0
the_animal Messages postés 69 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 27 juillet 2013 18
9 mai 2012 à 20:47
si tu mets un echo "hello world"; die; au debut de fichier , cela s'affiche bien?
0
LezardMoo Messages postés 554 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 21 janvier 2015 14
10 mai 2012 à 10:54
Bon ben ecoute the_animal je te remercie d'avoir pris le temps, pour rien parce que en fait tu as résolu le problème dès le début avec ta première réponse...

A première vue, il y aune erreur sur la ligne 3:

$fichier = '$_GET['fichier']'; 


remplace la ligne en:

$fichier = $_GET['fichier']; 


c'était effectivement ca. Merci encore :D
0
the_animal Messages postés 69 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 27 juillet 2013 18
10 mai 2012 à 11:23
oui et tu a répondu que "malheureusement toujours le problème" pourtant tu n'as pas modifier
0
LezardMoo Messages postés 554 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 21 janvier 2015 14
10 mai 2012 à 11:25
sisi, même plusieurs fois mais à mon avis vu toutes les modifs que j'ai faites (hier j'avais un autre code ^^) j'ai du le modifier en ayant modif autre chose dans le code avant...

du coup ce matin j'ai repris le code posté plus haut parce que error.log m'a dit la même chose que toi ^^
0
LezardMoo Messages postés 554 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 21 janvier 2015 14
10 mai 2012 à 11:25
Merci encore ;)
0
the_animal Messages postés 69 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 27 juillet 2013 18
10 mai 2012 à 11:40
ok pas de quoi
0