CascadiaPHP 2024


(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_readRead from stream


public streamWrapper::stream_read(int $count): string|false

This method is called in response to fread() and fgets().


Remember to update the read/write position of the stream (by the number of bytes that were successfully read).



How many bytes of data from the current position should be returned.

Return Values

If there are less than count bytes available, as many as are available should be returned. If no more data is available, an empty string should be returned. To signal that reading failed, false should be returned.


Emits E_WARNING if call to this method fails (i.e. not implemented).


If the return value is longer then count an E_WARNING error will be emitted, and excess data will be lost.



streamWrapper::stream_eof() is called directly after calling streamWrapper::stream_read() to check if EOF has been reached. If not implemented, EOF is assumed.


When reading the whole file (for example, with file_get_contents()), PHP will call streamWrapper::stream_read() followed by streamWrapper::stream_eof() in a loop but as long as streamWrapper::stream_read() returns a non-empty string, the return value of streamWrapper::stream_eof() is ignored.

See Also

  • fread() - Binary-safe file read
  • fgets() - Gets line from file pointer

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top