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

Eléphanteau du PHP | 49 Messages

16 janv. 2009, 10:15

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

ViPHP
ViPHP | 1136 Messages

16 janv. 2009, 11:31

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 ...

Eléphanteau du PHP | 49 Messages

16 janv. 2009, 13:50

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.

ViPHP
ViPHP | 5924 Messages

16 janv. 2009, 13:57

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.

Eléphanteau du PHP | 49 Messages

16 janv. 2009, 14:00

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 :-)

ViPHP
ViPHP | 5924 Messages

16 janv. 2009, 14:04

Euh, excuse moi mais le test prend 3 secondes… Après je dis ça je dis rien…