14.3.7.Using chunked encoding in HTTP 1.1
It is sometimes desirable to use the HTTP 1.1 chunked encoding to send data to HTTP clients. Examples of such include status pages or streaming applications. Note that the possibility of using chunked encoding depends on external factors such as whether the client browser supports chunked encoding. So a server page can request turning on the chunked encoding, but should handle the case should it not be available.
Note that in order to successfully turn on the chunked encoding
the page should not be using the
http_xslt() . Also all reply headers set by the
http_header() are silently ignored
after the mode is set.
http_flush() (with 1 as a
value for it"s optional argument) is used to request turning on the
chunked encoding. If the client"s user agent supports the encoding,
then the data accumulated so far in the server"s output buffer are
sent to the client as the first chunk, the request is put in
special "chunked mode" and the
http_flush() returns a non-zero integer. When in
that mode a new chunk is sent to the client either when the
internal 4k buffer is filled up or when the client calls
http_flush() again to flush the
buffer and send it as a chunk. The client disconnection is handled
as usual .