SunshinePHP Developer Conference 2015

ob_get_flush

(PHP 4 >= 4.3.0, PHP 5)

ob_get_flushVide le tampon, le retourne en tant que chaîne et stoppe la temporisation

Description

string ob_get_flush ( void )

ob_get_flush() vide le tampon, le retourne en tant que chaîne et stoppe la temporisation.

Le tampon de sortie doit avoir été démarré avec la fonction ob_start() et le drapeau PHP_OUTPUT_HANDLER_FLUSHABLE. Sinon, la fonction ob_get_flush() ne fonctionnera pas.

Note: ob_get_flush() est similaire à ob_end_flush(), sauf que cette fonction retourne le tampon en tant que chaîne.

Valeurs de retour

Retourne le tampon de sortie ou FALSE s'il n'y en a aucun d'actif.

Exemples

Exemple #1 Exemple avec ob_get_flush()

<?php
//Utilisation de output_buffering=On
print_r(ob_list_handlers());

//Saugarde du tampon dans un fichier
$buffer ob_get_flush();
file_put_contents('buffer.txt'$buffer);

print_r(ob_list_handlers());
?>

L'exemple ci-dessus va afficher :

Array
(
    [0] => default output handler
)
Array
(
)

Voir aussi

  • ob_end_clean() - Détruit les données du tampon de sortie et éteint la temporisation de sortie
  • ob_end_flush() - Envoie les données du tampon de sortie et éteint la temporisation de sortie
  • ob_list_handlers() - Liste les gestionnaires d'affichage utilisés

add a note add a note

User Contributed Notes 4 notes

up
6
info at pcdoctor dot fr
6 years ago
Hi,
this is just to add a behavior that I haven't understud at first place.

ob_get_flush actually returns the content of the buffer as a text but also it sends the buffer back to the browser so that it's displayed on user screen.

Use ob_get_clean if you do not want the buffer to be send to the user
up
0
zubin@byron
9 years ago
Correction to previous post: ob_get_clean() is better, ie:

<?php
// start generating html
$html = '<html><head>'; // etc
// start output buffering
ob_start();
// call function which outputs immediately
print_menu();
// append this to $html and empty buffer
$html .= ob_get_clean();
?>
up
0
zubin@byron
9 years ago
I found this function is useful for storing output instead of displaying it. For example, I wanted to use an old function which echoed the ouput but I wanted it in a variable, not outputted immediately. Here's how:

<?php
// start generating html
$html = '<html><head>'; // etc
// start output buffering
ob_start();
// call function which outputs immediately
print_menu();
// append this to $html
$html .= ob_get_flush();
// empty output buffer
ob_clean();
?>
up
-1
taras dot dot dot di at gmail dot com
6 years ago
I don't know how exactly this works, but if you call this function, PHP would behave as if headers have been sent (even though the output has gone to a string).

This means that you can't call this function, and then call setcookie for example.

This was verified by trial and error
To Top