PHP : probleme avec téléchargement de fichier

Résolu
JEJEOS Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   -  
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je souhaiterais ouvrir une boite de téléchargement pour une image, en PHP.

J'ai donc une page avec mon lien :
<A href="download.php?chemin=chemindelimage.jpg">Telecharger le fichier</A>

Et la page download.php :
<?php
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=".$file);
readfile($chemin.$file);
?>

Lorsque je place ces fichiers sur mon serveur, et que je clique sur le lien, j'obtiens une page d'erreurs :


Warning: Cannot modify header information - headers already sent by (output started at XXXXX:1) in XXXXX/download.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at XXXXX:1) in XXXXX/download.php on line 3

ces 2 erreurs sont suivies de pleins de caractère ne voulant rien dire ...


Je ne sait pas d'où peut venir l'erreur ... peut-être de mon serveur ??

Merci de m'aider ....

Jerome
A voir également:

6 réponses

Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
les caractères qui ne veulent rien dire: c'est ton image....

le truc c'est que tu as déja du faire un echo, ou laisser une ligne blanche ou un espace AVANT d'utiliser la fonction header !

donc mets bien ta balise PHP en tout début de fichier, et tu n'auras pas de probleme.
si tu as encore le problème, recrées le fichier avec notepad, et colles ton code dedan (il y a une merde avec le premier octet du fichier)
0
JEJEOS Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   5
 
Merci pour cette réponse rapide ....

Pour les caractères, je me doutais que c'était l'image ....

En ce qui concerne le code PHP, je n'ai rien avant, puisqu'il n'y a que
<?php
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=".$file);
readfile($chemin.$file);
?>
dans mon fichier download.php
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
j'ai pas le temps de retrouver parmis les sujets auxquel j'ai répondu, maiq qqcn avait le meme pb que toi.

recrées ton fichier avec le notepad tout con de windows, et recopies ton code... et dis moi si ca marche..

quel éditeur as tu utilisé avant ?
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
t'as de la chance: en cherchant: caractère début fichier php nabla's site:www.commentcamarche.net su google, j'ai trouvé ca:
http://www.commentcamarche.net/forum/affich 12026921 erreur session start improbable
-> c'est la discution ou le mec avait le meme probleme

le pb vient donc du BOM

après vérification, ne pas faire avec notepad: https://fr.wikipedia.org/wiki/Byte_Order_Mark
préferer notepad++
0

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

Posez votre question
JEJEOS Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   5
 
Enfin, sa marche !!!
Merci beaucoup pour cette astuce !!

Je l'ai modifier avec notepad ++ et sa marche !!

Encore merci !!
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
y'a pas d'quoi ;)
++
0