(PHP 4, PHP 5, PHP 7, PHP 8)
ob_get_contents — Retourne le contenu du tampon de sortie
Retourne le contenu du tampon de sortie sans l'effacer.
Cette fonction ne contient aucun paramètre.
Retourne le contenu du tampon de sortie sans l'effacer
ou false , si la temporisation de sortie n'est pas activée.
Exemple #1 Exemple avec ob_get_contents()
<?php
ob_start();
echo "Bonjour ";
$out1 = ob_get_contents();
echo "le monde !";
$out2 = ob_get_contents();
ob_end_clean();
var_dump($out1, $out2);
?>L'exemple ci-dessus va afficher :
string(8) "Bonjour " string(18) "Bonjour le monde !"
This is an example of how the stack works:
<?php
//Level 0
ob_start();
echo "Hello ";
//Level 1
ob_start();
echo "Hello World";
$out2 = ob_get_contents();
ob_end_clean();
//Back to level 0
echo "Galaxy";
$out1 = ob_get_contents();
ob_end_clean();
//Just output
var_dump($out1, $out2);
?>Note that, unlike PHP variables which make efficient use of memory, getting the contents of the output buffer results in a new copy of the buffer being made. This can end up massively increasing the memory requirements of your script if your output is large.
Example code:
<?php
print(memory_get_usage() . "<br>");
ob_start();
for ($i = 0; $i < 5000000; $i++)
print(" ");
print(memory_get_usage() . "<br>");
$foo = ob_get_contents();
print(memory_get_usage() . "<br>");
ob_end_flush();
?>
Output:
351664
5359152
10359256