Page 1 sur 1

Génération csv ok avec firefox, mais pas avec IE

Posté : 16 janv. 2009, 10:15
par mazou
Bonjour,

Ce message, car je rencontre un pb dans le téléchargement d'un fichier csv généré par php.
Voici mon bout de script :
$nomFichier="associations.csv";
header("Content-Type: application/csv-tab-delimited-table");
header("Content-disposition: filename=".$nomFichier);
echo $csv;
Mon soucis est que le fichier se télécharge bien sous firefox, mais dès que j'essai avec ie, j'ai un message "Internet explorer ne peut pas télécharger intranet.php depuis http://www.monserveur.fr".

Sachant que intranet.php est la page sur laquelle se trouve l'utilisateur.

Pourriez-vous m'aider ?

Merci d'avance

Posté : 16 janv. 2009, 11:31
par stopher
Salut ,

pour générer un fichier csv , j'ai utilisé il n'y a pas si longtemps ce code :
$type	=	"text/csv";
$filename	=	"exportfinale.csv";
$urlFichier	=	"exportfinale.csv";

header("Content-disposition: attachment; filename=".$filename);
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: $type\n");
header("Content-Length: ".filesize($urlFichier));
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");


// on lance le telechargement
readfile($urlFichier);
Je viens de tester sur un poste win avec IE , ça fonctionne ...

Posté : 16 janv. 2009, 13:50
par mazou
Merci pour ta réponse.

Ca fonctionne, mais cela m'oblige à créer préalablement le fichier contenant les données sur le serveur.
L'idée pour moi était de le générer en live.

Posté : 16 janv. 2009, 13:57
par Sékiltoyai
Il faudra m'expliquer ce que cela change de faire un readfile du fichier csv plutôt que de faire un echo de la chaine…
Bref, le problème n'est évidemment pas là mais soit dans la configuration du serveur, soit dans les headers. Je te propose de commencer par les headers en t'inspirant des headers du script de stopher.

Posté : 16 janv. 2009, 14:00
par mazou
Je suis d'accord, mais vu que je suis dans l'urgence, je ne vais pas chercher plus que cela alors que j'ai une solution satisfaisante.
Ma remarque était juste ma culture personnel :-)

Posté : 16 janv. 2009, 14:04
par Sékiltoyai
Euh, excuse moi mais le test prend 3 secondes… Après je dis ça je dis rien…