Bufferisation de sortie

Noter ce cours :

Liens sponsorisés :

La bufferisation de sortie permet d'envoyer les données au navigateur à un moment précis. Elle permet également d'éviter l'erreur des headers already sent et est donc très utile

La fonction ob_start() :

Cette fonction permet d'enclencher la mise en buffer de tout le code html qui sera généré par PHP. La fonction ob_end_flush() permet d'envoyer le contenu du buffer au navigateur.

Exemple :

<?php
ob_start();
//Votre code PHP
ob_end_flush();

?>

La fonction ob_start() peut également prendre une fonction comme paramètre, cette fonction sera appelée lorsque vous enverrez le buffer à l'aide de la fonction ob_end_flush().

Exemple :

<?php
ob_start('fonction_ici');

function fonction_ici($output_buffer)
{
return $output_buffer.'Fin de la page';
}

//Votre code PHP
ob_end_flush();

?>

Ici, notre exemple rajoutera à la fin de la page la mention 'Fin de la page'. Cette possibilité peut être très utile pour rajouter des mentions en bas de page sans faire d'include spécifique et sans utiliser la fonction ob_get_contents().

La fonction ob_end_flush() :

Cette fonction envoit les données contenues dans le buffer de sortie et détruit ensuite le contenu du buffer.

La fonction ob_flush() :

Cette fonction envoit les données contenues dans le buffer de sortie.

La fonction ob_clean() :

Cette fonction permet d'effacer le buffer de sortie.

La fonction ob_get_clean() :

Cette fonction lit le contenu du buffer de sortie puis l'efface.

La fonction ob_get_contents() :

Cette fonction retourne le contenu du buffer.

Exemple :

<?php
ob_start();
echo 'test';
$buffer=ob_get_contents(); //La variable $buffer contiendra la valeur 'test'
ob_end_flush();

?>

La fonction ob_get_length() :

Cette fonction retourne la taille en octets du buffer de sortie.

La fonction ob_gzhandler() :

Cette fonction permet d'être placée à la place de la fonction ob_start(). Elle permet si le serveur le supporte de compresser les pages web pour accélérer le temps de téléchargement pour le visiteur et gaspiller moins de trafic. Malheureusement cette option est souvent désactivée sur la plupart des hébergeurs. Vous pouvez toutefois utiliser cette option qui ne génèrera pas d'erreur, même si la compression n'est pas utilisable sur le serveur web.

Vous avez aimé cet article intitulé Bufferisation de sortie ? Partagez-le !
Vulgarisation-informatique.com
Cours en informatique & tutoriels