GrosBeubeu (./7) :
il renvoie tout en html que le navigateur peut ensuite retranscrire
il ne renvoie pas de l'html, mais un contenu qui peut être n'importe quoi.
il ne faut pas commencer à envoyer quelque chose avant de mettre des headers, car une fois du contenu envoyé (quelque soir le contenu généré par le php : pdf, html, xml, zip, jpg, ..., ...), il est impossible par la suite d'envoyer des headers permettant justement de définir de quel type de contenu il s'agit. Si aucun header n'est envoyé, le navigateur prendra par défaut de l'html, c'est tout
essaye ce script, tu verra :
<?php
echo ' ';ob_flush();
header('Content-type: application/text');
echo 'test';
?>
étant donné que du contenu (un simple espace) a été envoyé avant, le PHP ne peut plus envoyer d'headers.
Warning: Cannot modify header information - headers already sent by (output started at ...test.php:2) in ...test.php on line 4il te dit même que le contenu a été envoyé en ligne 2 du fichier.
Ton problème vient de là : tu dois soit avoir un espace quelque part en fin de fichier, soit avoir un echo quelque part qui envoye du contenu au navigateur.
Essaye de faire ca : tu essayes de généré le PDF via ton ancien script, et tu regardes bien le msg d'erreur, il te dira dans quel fichier et à quelle ligne de ce fichier du contenu a été envoyé prématurément.