Cours par Webcam

Cours par Webcam

Formateur Web pour adultes depuis plus 11 ans, je vous propose des COURS collectifs par WEBCAM en LIVE pour booster vos connaissances et être autonome dans la création de site.

En savoir plus

PHP - Bases

PHP - Algorithmie

PHP - Chaîne

PHP - Tableau

PHP - Formulaires

PHP - Fonctions Usuelles

Données entres pages

Environnement et Interaction

PHP objet (POO)

Facebook
Twitter
LinkedIn

Gérer les flux de sortie en PHP

PHP peut bloquer l’envoi des données au navigateur grâce à la fonction ob_start() qui enclenche une temporisation de sortie. Cela signifie que les données ne sont pas directement envoyées mais temporairement mises en tampon.

ob_start(); /* On initialise le tampon. */

Important : PHP vide automatiquement les tampons de sortie ouverte quand il atteint la fin d’un script.

Récupérer le contenu du tampon

L’intérêt de la temporisation est de pouvoir travailler sur le contenu avant de l’envoyer au navigateur.

La fonction ob_get_clean() permet de retourner les données, de les détruire, et de fermer le tampon.

ob_start(); /* On initialise le tampon. */
echo 'je suis dans le buffer'; // ne s'affiche pas et mis en tampon
$recup = ob_get_clean(); // Arrêt de la temporisation et renvoi du tampon de sortie
echo 'Voici du texte mis dans dans le tampon : '.$recup;

Affichage

Voici du texte mis dans dans le tampon : je suis dans le buffer

La fonction ob_get_contents() permet de retourner les données sans les détruire et ne ferme pas le tampon.

ob_start(); /* On initialise le tampon. */
echo 'je suis dans le buffer'; // ne s'affiche pas et mis en tampon
ob_get_contents(); // renvoi les données
echo ' et moi aussi ' ;
$chaine = ob_get_clean(); // Arrêt de la temporisation et renvoi du tampon de sortie
echo 'Finalement : '.$chaine;

Affichage

Finalement : je suis dans le buffer et moi aussi

La fonction ob_flush() permet de retourner les données, d’effacer le contenu, mais ne ferme pas le tampon.

ob_start(); /* On initialise le tampon. */
echo 'Premier'; // ne s'affiche pas et mis en tampon
ob_flush(); // renvoi les données
echo ' Deuxième ' ;
$chaine = ob_get_clean(); // Arrêt de la temporisation et renvoi du tampon de sortie
echo ' et enfin : '.$chaine;

Affichage

Premier et enfin : Deuxième

La fonction ob_end_flush() permet de retourner les données, d’effacer le contenu, et ferme le tampon.

ob_start(); /* On initialise le tampon. */
echo 'Premier'; // ne s'affiche pas et mis en tampon
ob_end_flush(); // renvoi les données, temporisation vidée et fermée
echo ' Deuxième ' ;
$chaine = ob_get_clean(); // retourne false
echo ' et enfin : '.$chaine;

Affichage

Premier Deuxième et enfin :

Détruire le contenu du tampon

La fonction ob_end_clean() permet de détruire les données et ferme le tampon.

ob_start();
echo 'Texte qui ne sera pas affiché.';
ob_end_clean();

Affichage

(pas de contenu)

La fonction ob_clean() permet de détruire les données mais ne ferme pas le tampon.

ob_start();
echo 'Texte qui ne sera pas affiché.';
ob_clean();
echo '...autre texte';
$chaine = ob_get_clean(); // Arrêt de la temporisation et renvoi du tampon de sortie
echo 'Voici le contenu du buffer : '.$chaine;

Affichage

Voici le contenu du buffer : ...autre texte

A lire aussi

tutowebdesign

Afficher du contenu au scroll

Afficher du contenu au scroll Voici un effet impressionnant et pourtant très facile à mettre en place sur vos pages. Le principe consiste à faire

Lire »