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

stream_set_blockingSet blocking/non-blocking mode on a stream


stream_set_blocking(resource $stream, bool $enable): bool

Sets blocking or non-blocking mode on a stream.

This function works for any stream that supports non-blocking mode (currently, regular files and socket streams).



The stream.


If enable is false, the given stream will be switched to non-blocking mode, and if true, it will be switched to blocking mode. This affects calls like fgets() and fread() that read from the stream. In non-blocking mode an fgets() call will always return right away while in blocking mode it will wait for data to become available on the stream.

Return Values

Returns true on success or false on failure.



On Windows, this has no affect on local files. Non-blocking IO for local files is not supported on Windows.

See Also

  • stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by seconds and microseconds