http://www.creatsiteweb.com
Actualités et sujets informatiques
 
AccueilPortailRechercherS’enregistrerConnexion
Derniers sujets
» Verrouiller un dossier ou un fichier
Lun 7 Juil - 18:36 par rene

» Choisir un référenceur ?
Mer 2 Juil - 14:43 par jos

» Télétravail de webmaster sur Recruteo
Dim 29 Juin - 19:04 par doris

» Cherche un referenceur
Sam 28 Juin - 20:47 par omar

» Recherche commercial(e) vente par téléphone
Jeu 26 Juin - 15:11 par durand

» Devis pour référencer mon site
Dim 22 Juin - 10:36 par roger2

» Travail à domicile
Sam 14 Juin - 10:14 par yves

» Promotions et logiciels gratuits
Jeu 12 Juin - 15:27 par gustin

» Nouvelle version d'Open Office
Dim 1 Juin - 22:31 par felix

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Partenaires
Rechercher
 


 Résultats par :
 
Rechercher Recherche avancée
Bufférisation de sortie en PHP
Mar 18 Mar - 12:50 par Admin
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. Elle est particulièrement utile quand vous souhaitez retourner la taille du contenu qui va être envoyé au navigateur. C'est généralement de cette façon que font certains sites pour afficher la quantité de données (affichée généralement en Ko) qu'ils vous ont envoyé. Voici un exemple :

<?php
ob_start
();
ob_start('ob_gzhandler');

echo
'tout ce qui doit être transmis';

header('Content-Type: text/xml');
header('Content-Length: '.ob_get_length()); //retournera la taille en octets de tout ce qui a été envoyé au navigateur (soit ici la taille de la chaîne "tout ce qui doit être transmis")

ob_end_flush();
?>



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 meme
si la compression n'est pas utilisable sur le serveur.

Commentaires: 1
Sondage
Forum
Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

Utilisateurs enregistrés : Aucun


[ Voir toute la liste ]

Le record du nombre d’utilisateurs en ligne est de 3 le Sam 7 Juin - 21:57
Statistiques
Nous avons 63 membres enregistrés
L’utilisateur enregistré le plus récent est rene

Nos membres ont posté un total de 87 messages dans 52 sujets