Exporter fichier .csv d'une base sql, problème avec IE

Résolu
Dyr3e Messages postés 85 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 4 juillet 2006 - 20 juin 2005 à 10:44
Dyr3e Messages postés 85 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 4 juillet 2006 - 20 juin 2005 à 11:27
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

Dyr3e Messages postés 85 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 4 juillet 2006
20 juin 2005 à 11:27
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
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 juin 2005 à 10:49
Hello,



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

=>

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

Ce serait sans doute mieux.
0
Dyr3e Messages postés 85 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 4 juillet 2006
20 juin 2005 à 10:56
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.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 juin 2005 à 11:00
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 ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dyr3e Messages postés 85 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 4 juillet 2006
20 juin 2005 à 11:04
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
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 juin 2005 à 11:09
Essaye d'ajouter celui-ci :
<!--StartFragment -->header('Pragma: public');

Et tu es sur du content-type ?
0
Dyr3e Messages postés 85 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 4 juillet 2006
20 juin 2005 à 11:10
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
0
Rejoignez-nous