Ausgabepufferung

Einführung

Mit den Funktionen zur Ausgabesteuerung kann die Ausgabe eines Skripts gesteuert werden. Dies kann in verschiedenen Situationen ganz nützlich sein, besonders wenn Header an den Browser gesendet werden müssen, nachdem das Skript bereits etwas ausgegeben hat. Die Ausgabesteuerungsfunktionen gelten nicht für Header, die mit header() oder setcookie() gesendet wurden, sondern nur für Daten, die mit echo gesendet wurden oder für Daten zwischen PHP-Codeblöcken.

add a note

User Contributed Notes 1 note

up
51
clancy hood at gmail dot com
16 years ago
The manual is a little shy on explaining that output buffers are nested, and that "turns off output buffering" means turning off the highest nested buffer.  See ob_get_level (for a useful function, but still no explanation)

<?php
    ob_start();
    echo "1:blah\n";
    ob_start();
    echo "2:blah";
    // ob_get_clean() returns the contents of the last buffer opened.  The first "blah" and the output of var_dump are flushed from the top buffer on exit
    var_dump(ob_get_clean());
    exit;
?>

puts:
    1:blah
    string(6) "2:blah"

Prior to realising this, I had thought PHP's ob functionality left more to be desired.  I *really* wish I knew earlier.
To Top