<?php
function ob($function){
ob_start();
$function();
$produced = ob_get_contents();
ob_end_clean();
return $produced;
}
echo ob(function(){echo 123;})=='123'?"echo captured\n":'';
Exemple #1 Exemple de bufferisation de sortie
<?php
ob_start();
echo "Bonjour\n";
setcookie("cookiename", "cookiedata");
ob_end_flush();
?>
Dans l'exemple ci-dessus, l'instruction echo est stockée dans un buffer jusqu'à l'appel de la fonction ob_end_flush(). Dans le même temps, l'appel à setcookie() a réussi à créer un cookie, sans générer d'erreur. (Normalement, les en-têtes doivent être envoyés au navigateur avant les données).
<?php
function ob($function){
ob_start();
$function();
$produced = ob_get_contents();
ob_end_clean();
return $produced;
}
echo ob(function(){echo 123;})=='123'?"echo captured\n":'';