phpbar.de logo

Mailinglisten-Archive

RE: [php] output prüfen

RE: [php] output prüfen

Andreas Demmer php at andreas-demmer.de
Mon Aug 23 10:59:22 CEST 2004


Patrick wrote:

> liefert headers_sent TRUE wenn ich schon
> etwas an den browser geschickt habe?

Sofern es ausgegeben wurde: Ja! Das Tückische
hierbei ist der Output-Buffer. Erst ab einer
gewissen Füllmenge entleert er sich an den Browser,
Ausnahmen bilden flush() und Skriptende.

Sobald der Inhalt des Output-Buffers an den Browser
wandert, sendet PHP einen Header:

Content-type: text/html

Und sofern die Expose-Direktive auf TRUE steht:
X-Powered-By: PHP/x.x.x

> warum zur hölle geht das:
> echo "-output<br />";
> header('Location: http://google.de');

Wieder der Output-Buffer! Das echo bleibt erstmal
im Buffer, deshalb geht der header().

So sollte es nicht mehr gehen:

echo "-output<br />";
flush();
header('Location: http://google.de');

Oder Du deaktivierst den Output-Buffer per Direktive
gleich ganz, Du nimmst Dir damit aber viele Möglichkeiten.

Gruss,
Andreas

--
http://www.andreas-demmer.de



php::bar PHP Wiki   -   Listenarchive