Problème téléchargement fichier texte

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème téléchargement fichier texte

Re: Problème téléchargement fichier texte

par Ryle » 21 juil. 2016, 11:01

Bonjour,

Je suppose que tes balises html head et body sont affichées dans ton script avant ton if(isset($_GET['sage'])) ? Si c'est le cas, ils sont alors envoyés au navigateur avec le contenu du fichier et le navigateur agrège le tout.

Ton script de téléchargement ne doit strictement rien afficher à l'écran et ne devrait contenir que le code ci-dessus et rien d'autre :)

Problème téléchargement fichier texte

par Avelan » 21 juil. 2016, 09:06

Bonjour j'ai un problème concernant le téléchargement d'un fichier texte. Je n'ai jamais eu ce problème et je ne comprends vraiment pas pourquoi ça fait ça.

Au clic sur un bouton j'appel une fonction qui crée un fichier texte. Le fichier est bien crée, quand je l'ouvre directement dans son dossier il est correct mais lorsque ma page me redirige et le fait télécharger, à ce moment il contient du code HTML.

Le fichier de base :

#FLG 000
#VER 8
70
010716
010716
000001
1

7064000

Le fichier téléchargé :

<head>
<link rel="stylesheet" href="menu.css" />
<link rel="stylesheet" href="style.css" />
<link rel="stylesheet" href="//cdn.datatables.net/1.10.11/css/jquery.dataTables.min.css" type="text/css" media="screen"/>
<link rel="stylesheet" href="../include/jquery/jquery-ui.css" />
<link rel="stylesheet" href="../include/table.css" />

</head>



<body>
#FLG 000
#VER 8
70
010716
010716
000001
1

7064000

Ce code HTML correspond à la page web dans lequel j'effectue le téléchargement :

Code : Tout sélectionner

if(isset($_GET['sage'])){ /*header('Content-Transfer-Encoding: binary'); header('Content-Disposition: attachment;filename="factures_'.date("d-m-Y").'.txt'); readfile('Documents/sage/factures_'.date("d-m-Y").'.txt');*/ $file = 'Documents/sage/factures_'.date("d-m-Y").'.txt'; if (file_exists($file)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=factures_'.date("d-m-Y").'.txt'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); readfile($file); exit; } }
Merci à vous parce que je ne comprend vraiment rien là ^^