Exporter fichier .csv d'une base sql, problème avec IE [Résolu]

Signaler
Messages postés
85
Date d'inscription
jeudi 10 juin 2004
Statut
Membre
Dernière intervention
4 juillet 2006
-
Dyr3e
Messages postés
85
Date d'inscription
jeudi 10 juin 2004
Statut
Membre
Dernière intervention
4 juillet 2006
-
bonjour,

j'utilise un script pour pouvoir exporter des fichiers au format csv (je l'ai trouvé grace a phpcs.com :) ) mais j'obtient un message sous IE indiquant que le site distant ne peut être joint, bref impossible de télécharger ce fichier. Sous Firefox, aucun problème ... aurais-je omis quelquechose pour ne pas froisser cet être chère qu'est IE ?

le code:

// Selection de la table
$r = mysql_query("SELECT * FROM table");


if(mysql_num_rows($r) == 0) echo "cette table est vide";
else
{
// Injection des headers
header("Content-Type: application/csv-tab-delimited-table");
header("Content-disposition: filename=table.csv");


// affichage du titre des colonnes for($i 0; $i < mysql_num_fields($r); $i++) $t[$i] mysql_field_name($r, $i);
echo '"',implode("";"",$t),""\n";


// affichage des données de la table
while($d = mysql_fetch_assoc($r))
echo '"',implode("";"",$d),""\n";
}

merci d'avance,

7 réponses

Messages postés
85
Date d'inscription
jeudi 10 juin 2004
Statut
Membre
Dernière intervention
4 juillet 2006

c'est bon !

les header à utiliser étaient

header("Cache-control: private");
header("Content-Type: application/csv");
header("Content-Disposition: attachment; filename=table.csv");

dans ce cas la plus de problème avec IE :)

merci beaucoup de ton aide Malalam
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
18
Hello,



header("Content-disposition: filename=table.csv");

=>

header("Content-disposition: filename='table.csv'");

Ce serait sans doute mieux.
Messages postés
85
Date d'inscription
jeudi 10 juin 2004
Statut
Membre
Dernière intervention
4 juillet 2006

merci pour cette précision :)

malheureusement ce n'est pas sur ce point que IE semble m'en vouloir. je ne vois vraiment pas. Au moins maintenant le code est plus propre.
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
18
Je ne pense pas que IE t'en veuille sur ce bout de script, a vrai dire.
Mais plutot sur celui de la page precedente, non ?
Messages postés
85
Date d'inscription
jeudi 10 juin 2004
Statut
Membre
Dernière intervention
4 juillet 2006

hélas non,

j'ai crée un fichier test en php ne contenant que ce script...
si j'enlève les Header, ca fonctionne et il m'affiche a l'ecran le resultat de ma requête ( un peu inutile je te l'accorde :) ) mais dès que les Header sont en place, seul Firefox semble y comprendre quelquechose.

Cordialement,

Dyree
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
18
Essaye d'ajouter celui-ci :
<!--StartFragment -->header('Pragma: public');

Et tu es sur du content-type ?
Messages postés
85
Date d'inscription
jeudi 10 juin 2004
Statut
Membre
Dernière intervention
4 juillet 2006

d'après http://fr.php.net/header, les header sous IE devraient plutôt se déclarer de la sorte:

header('Content-Type: application/csv-tab-delimited-table');
header('Content-disposition: filename="table.csv"');

s'était juste pour la précision, cela n'a rien résolu