Bonjour,

J'ai essayé le code indiqué dans la FAQ, mais j'ai du mal l'essayer car mon fichier .csv apparait directement dans ma page en texte et je n'ai pas la boite de dialogue de téléchargement.
http://php.developpez.com/faq/?page=..._forcedownload

J'ai du coup repris un vieux fichier qui lui fonctionnait et qui ne me semblait pas bien différent.

Alors je ne sais pas trop ...
j'ai utilisé votre code en le mettant dans une fonction que j'appelle depuis la page où je génère mon fichier en passant son nom en paramètre.

Par contre, le fichier que j'utilise, lui, contient ça au début :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php 
 
// on essaie de reconnaitre l'extension pour que le téléchargement corresponde au type de fichier afin d'éviter les erreurs de corruptions 
 
$fich=$_REQUEST["Fichier_a_telecharger"];
$chem=$_REQUEST["chemin"];
switch(strrchr(basename($_REQUEST["Fichier_a_telecharger"]), ".")){
 
case ".gz": $type = "application/x-gzip"; break;
case ".tgz": $type = "application/x-gzip"; break;
case ".zip": $type = "application/zip"; break;
case ".pdf": $type = "application/pdf"; break;
case ".png": $type = "image/png"; break;
case ".gif": $type = "image/gif"; break;
case ".jpg": $type = "image/jpeg"; break;
case ".txt": $type = "text/plain"; break;
case ".htm": $type = "text/html"; break;
case ".html": $type = "text/html"; break;
case ".txt": $type = "text/html"; break;
default: $type = "application/octet-stream"; break;
 
}
 
header("Content-disposition: attachment; filename=$fich"); 
header("Content-Type: application/force-download"); 
header("Content-Transfer-Encoding: $type\n"); // Surtout ne pas enlever le \n
header("Content-Length: ".filesize($chem . $fich)); 
header("Pragma: no-cache"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public"); 
header("Expires: 0"); 
readfile($chem . $fich); 
?>
et ensuite c'est de l'html classique et sans contenu sauf le titre

et il est appelé par un lien du style
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<a href="telecharge.php?Fichier_a_telecharger=nomFichier"&chemin=nomDossier
Peut-être est-ce ce qu'il fallait faire aussi avec votre code, mais, en ce cas, peut-être faudrait-il l'indiquer en haut de votre FAQ, car ce n'est pas évident alors.

Voilà, si ça peut vous servir ...