Stream Filters
Stream Errors
Streams
PHP Manual

# Stream Contexts

A context is a set of parameters and wrapper specific options which modify or enhance the behavior of a stream. Contexts are created using stream_context_create() and can be passed to most filesystem related stream creation functions (i.e. fopen(), file(), file_get_contents(), etc...).

Options can be specified when calling stream_context_create(), or later using stream_context_set_option(). A list of wrapper specific options can be found with the list of built-in wrappers (See List of Supported Protocols/Wrappers).

In addition, parameters may be set on a context using stream_context_set_params(). Currently the only context parameter supported by PHP is notification. The value of this parameter must be the name of a function to be called when an event occurs on a stream. The notification function called during an event should accept the following six parameters:

void my_notifier ( int `$notification_code` , int `$severity` , string `$message` , int `$message_code` , int `$bytes_transferred` , int `$bytes_max` )

`notification_code` and `severity` are numerical values which correspond to the `STREAM_NOTIFY_*` constants listed below. If a descriptive message is available from the stream, `message` and `message_code` will be populated with the appropriate values. The meaning of these values is dependent on the specific wrapper in use. `bytes_transferred` and `bytes_max` will be populated when applicable.

Stream Filters
Stream Errors
Streams
PHP Manual