ob_get_contents

(PHP 4, PHP 5, PHP 7, PHP 8)

ob_get_contentsReturn the contents of the output buffer

Descrizione

ob_get_contents(): string|false

Gets the contents of the output buffer without clearing it.

Elenco dei parametri

Questa funzione non contiene parametri.

Valori restituiti

This will return the contents of the output buffer or false, if output buffering isn't active.

Esempi

Example #1 A simple ob_get_contents() example

<?php

ob_start
();

echo
"Hello ";

$out1 = ob_get_contents();

echo
"World";

$out2 = ob_get_contents();

ob_end_clean();

var_dump($out1, $out2);
?>

Il precedente esempio visualizzerà:

string(6) "Hello "
string(11) "Hello World"

Vedere anche:

add a note

User Contributed Notes 2 notes

up
10
mauroasprea+php at gmail dot com
14 years ago
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);
?>
up
8
Mark Clements
10 years ago
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
To Top