PHP 8.1.0 RC 2 available for testing

ob_get_flush

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

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

Description

ob_get_flush(): string|false

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: Cette fonction est similaire à ob_end_flush(), sauf que cette fonction retourne également le tampon sous forme de chaîne.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

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
28
info at pcdoctor dot fr
13 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
-3
zubin@byron
16 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
-6
zubin@byron
16 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
-4
taras dot dot dot di at gmail dot com
13 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