Page 1 sur 1

vider le buffer

Posté : 23 févr. 2011, 04:11
par Invité
Bonjour à tous,

j'envoie des données au navigateur en utilisant le code suivant:

header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=test.xls");
echo utf8_decode($data);

ça marche bien mais le fichier envoyé contient des données html non désirées: menus du site, bannière...
Comment puis-je faire pour vider le buffer avant de renvoyer les données?

J'ai tenté ceci qui me renvoie un fichier vide
ob_start();

header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=test.xls");
echo utf8_decode($data);
ob_get_clean();


En vous remerciant pour vos conseils.

Re: vider le buffer

Posté : 23 févr. 2011, 09:46
par Mazarini
Bonjour,

Pour moi, header("Content-Disposition: attachment; filename=test.xls"); est en trop.
Ce genre de commande me fait plus penser à de l'envoi de pièces jointes par mail, mais il manquerai les délimiteurs pour le fichier.

Re: vider le buffer

Posté : 23 févr. 2011, 11:42
par popy
echo ob_get_clean();

Re: vider le buffer

Posté : 23 févr. 2011, 12:14
par Mazarini
Bonjour,
echo ob_get_clean();
Ce que tu proposes est de vider le buffer et de remettre dans le buffer ce qu'il y avait.

Re: vider le buffer

Posté : 23 févr. 2011, 13:50
par popy
indeed, s't'un ob_end_clean qu'il faut.