Page 1 sur 1
Fichier corrompu download avec la fonction header
Posté : 24 mars 2015, 16:59
par mibrahimamadou
Bonjour à tous,
J'essaie de forcer le téléchargement d'un fichier de ma page web avec la fonction header(). Mon problème est que le fichier downloadé est concaténé avec le code html de ma page.
J'ai bien vérifié l'url de mon fichier avant de la passer à hearder().
Quelqu'un aurait-il une idée d'où peut venir mon problème ?
Merci d'avance,
mibrahimamadou
Re: Fichier corrompu download avec la fonction header
Posté : 24 mars 2015, 23:33
par @rthur
Bonjour,
Ça serait plus simple si tu nous donnais les portions de codes que tu utilises.
A priori, je dirai qu'il faut que tu ajoutes un exit ou un die() dans ton code juste après l'envoi du fichier afin de ne pas envoyer le code HTML de ta page
Re: Fichier corrompu download avec la fonction header
Posté : 25 mars 2015, 05:15
par Mathilde83
Merci de ta réponse, j'ai réglé le problème j'envoyais seulement le non du fichier et non le path au complet et maintenant ça fonctionne, et j'ai rajouté exit et les 2 br ce un bug du copier-coller.
Re: [RESOLU] Fichier corrompu download avec la fonction header
Posté : 27 mars 2015, 17:59
par mibrahimamadou
Bonjour à tous,
Mon sujet a été clôturé pour la réponse d'une autre personne ... Je comprends pas trop.
@rthur merci pour ta réponse mais je continue à avoir le même problème .
Voisi mon code:
if (isset($_POST['ZONE'])) {
switch($ZONE) {
case 'EMEA':
$file = 'fichier_emea.txt';
break;
case 'APAC':
$file = 'fichier_apac.txt';
break;
case 'AMER':
$file = 'fichier_amer.txt';
break;
default:
$file_url = '';
}
}
$file_url = $sSiteURL . "/".$file;
exit;
header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\"");
readfile($file_url);
?>
Quand j'ajoute exit apres l'envoi du fichier, j'ai pas le téléchargement.
J'ai tester l'url en faisant echo, j'ai le bon path pour mes fichiers. Et quand j’enlève la fonction header, j'ai le bon contenu du fichier qui s'affiche sur ma page après le readfile().
Merci d'avance
Re: Fichier corrompu download avec la fonction header
Posté : 27 mars 2015, 18:16
par @rthur
Au temps pour moi, je n'avais pas vu que c'était un autre utilisateur qui avait répondu que ça fonctionnait à ta place ! Et doc j'ai mis le sujet en résolu à trop vite
Le exit; il faut le mettre après le readfile()
Où se trouve le code HTML qui est renvoyé par erreur ?