http://www.creatsiteweb.com

Actualités et sujets informatiques
 
AccueilPortailRechercherS'enregistrerConnexion

Partagez | 
 

 Bufférisation de sortie en PHP

Aller en bas 
AuteurMessage
Admin
Admin


Nombre de messages : 24
Date d'inscription : 17/03/2008

MessageSujet: Bufférisation de sortie en PHP   Mar 18 Mar - 13:50

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

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

Exemple :
<?php
ob_start();
//Votre code PHP
ob_end_flush();
?>
La fonction [b]ob_start()[/b] peut également prendre une fonction comme paramètre, cette fonction sera appelée lorsque vous enverrez le buffer à l'aide de la fonction [b]ob_end_flush()[/b].

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 [b]ob_get_contents()[/b].


La fonction [b]ob_end_flush()[/b] :
Cette fonction envoit les données contenues dans le buffer de sortie et détruit ensuite le contenu du buffer.


La fonction [b]ob_flush()[/b] :
Cette fonction envoit les données contenues dans le buffer de sortie.


La fonction [b]ob_clean()[/b] :
Cette fonction permet d'effacer le buffer de sortie.


La fonction [b]ob_get_clean()[/b] :
Cette fonction lit le contenu du buffer de sortie puis l'efface.


La fonction [b]ob_get_contents()[/b] :
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 [b]ob_get_length()[/b] :
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 [url=http://www.vulgarisation-informatique.com/ko-mo-go.php]Ko[/url]) qu'ils vous ont envoyé. Voici un exemple :
[color:d40e=#000000]
[color:d40e=#0000bb]<?php
ob_start[/color][color:d40e=#007700]();
[/color][color:d40e=#0000bb]ob_start[/color][color:d40e=#007700]([/color][color:d40e=#dd0000]'ob_gzhandler'[/color][color:d40e=#007700]);

echo [/color][color:d40e=#dd0000]'tout ce qui doit être transmis'[/color][color:d40e=#007700];

[/color][color:d40e=#0000bb]header[/color][color:d40e=#007700]([/color][color:d40e=#dd0000]'Content-Type: text/xml'[/color][color:d40e=#007700]);
[/color][color:d40e=#0000bb]header[/color][color:d40e=#007700]([/color][color:d40e=#dd0000]'Content-Length: '[/color][color:d40e=#007700].[/color][color:d40e=#0000bb]ob_get_length[/color][color:d40e=#007700]()); [/color][color:d40e=#ff8000]//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")

[/color][color:d40e=#0000bb]ob_end_flush[/color][color:d40e=#007700]();
[/color][color:d40e=#0000bb]?>[/color] [/color]


La fonction [b]ob_gzhandler()[/b] :
Cette fonction permet d'être placée à la place de la fonction [b]ob_start()[/b]. 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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.creatsiteweb.com
lunay



Nombre de messages : 1
Age : 58
Date d'inscription : 20/03/2008

MessageSujet: Content de votre tuto   Jeu 20 Mar - 13:11

Bonjour*C'est super j'ai trouvé mes codes.Merçi*A plus
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 
Bufférisation de sortie en PHP
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Sortie de trajets et détection de train
» sortie de veille de mon nuvi 2595 lmt
» Pas de son en sortie du décodeur
» interfaces garmin spanner nmea sortie texte rtcm
» comment activé sortie optique audio

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
http://www.creatsiteweb.com :: Programmation-
Sauter vers: