ob_start() + ob_end_flush() 8O

  • Auteur de la discussion Auteur de la discussion mowmow
  • Date de début Date de début
WRInaute impliqué
Salut tout le monde,

Alors voila, je sait pas si y'a des gens qui s'y connaissent en bufferisation, mais j'ai un probleme avec les fonctions ob.

mon site est structure de la facon suivante :
Code:
include 'html.php'; // ca cest ma structure html
include 'code.php'; // bah ca cest mon code ^^
le probleme est que je dois setter un cookie dans code.php, et que c'est pas possible a cause du html deja envoye par html.php.

J'ai donc essaye avec la fonction ob_start, pour permettre a mon cookie d'etre setter. Mon probleme est que apres mon ob_end_flush, j'aimerais afficher du html, mais pas mis en tampon. Parce que j'ai pas envie de mettre tout mon site en tampon 8O.
Quelqu'un saurait si c'est possible d'afficher du html non bufferise apres un flush ob ? ou est-ce que je m'acharne pour rien ?
 
Nouveau WRInaute
Bonjour,

Après l'appel à ob_end_flush, les données contenues dans le buffer sont envoyées au navigateur et la bufferisation est arrétée.
Résultat: tout ce que tu mets après le ob_end_flush n'est pas bufferisé. Donc, pour afficher du html non bufferisé, il faut que tu mettes ce html après ton appel à ob_end_flush.

Cordialement,
Gilles ORTHEAU
 
WRInaute impliqué
En fait j'aimerais buffériser mon code PHP, et après faire un ob_end_flush, et ensuite j'include mon html + ob_get_contents de mon code.php. Le probleme est que apparament les fonctions ob empêchent tout affichage ultérieur. :(
 
WRInaute impliqué
Code:
<?php
ob_start();
// Traitement que tu ne veux pas voir afficher immédiatement
$buffer = ob_get_contents();
ob_end_clean();
?>
<html>
<body>
<?php echo $buffer; ?>
</body>
</html>
 
WRInaute impliqué
shrom a dit:
Code:
<?php
ob_start();
// Traitement que tu ne veux pas voir afficher immédiatement
$buffer = ob_get_contents();
ob_end_clean();
?>
<html>
<body>
<?php echo $buffer; ?>
</body>
</html>

Là je peux pas tester car je suis pas chez moi, en fait j'avais déjà essayé ca, et je sais plus si ca marchait. en tout cas j'avais un register_shutdown_function qui marchait pas a cause du ob. T'as testé pour voir si ca marche shrom ? Parce que après un ob j'ai l'impression qu'il te permet plus d'afficher du texte je crois.
 
WRInaute impliqué
mowmow a dit:
T'as testé pour voir si ca marche shrom ? Parce que après un ob j'ai l'impression qu'il te permet plus d'afficher du texte je crois.

Je m'en sers tout les jours pour mes fonctions de mise en cache.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut