Output using fwrite() is normally buffered at
8K. This means that if there are two processes wanting to write
to the same output stream (a file), each is paused after 8K of
data to allow the other to write.
stream_set_write_buffer()
sets the buffering for write operations on the given filepointer
stream
to buffer
bytes.
If buffer
is 0 then write operations are
unbuffered. This ensures that all writes with
fwrite() are completed before other processes
are allowed to write to that output stream.
The function returns 0 on success, or EOF if the request cannot be honored.
The following example demonstrates how to use stream_set_write_buffer() to create an unbuffered stream.