You want to force all buffered data to be written to a filehandle.
Use fflush( ), as in Example 23-35.
Example 23-35 ensures that "There are twelve pumpkins in my house." is written to $fh.
To be more efficient, system I/O libraries generally don't write something to a file when you tell them to. Instead, they batch the writes together in a buffer and save all of them to disk at the same time. Using fflush( ) forces anything pending in the write buffer to be actually written to disk.
Flushing output can be particularly helpful when generating an access or activity log. Calling fflush( ) after each message to logfile makes sure that any person or program monitoring the logfile sees the message as soon as possible.
23.13.4. See Also
Documentation on fflush( ) at http://www.php.net/fflush.