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;
}
}