PHP 8.4.0 Alpha 2 available for testing


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

streamWrapper::stream_openOpens file or URL


public streamWrapper::stream_open(
    string $path,
    string $mode,
    int $options,
    ?string &$opened_path
): bool

This method is called immediately after the wrapper is initialized (f.e. by fopen() and file_get_contents()).



Specifies the URL that was passed to the original function.


The URL can be broken apart with parse_url(). Note that only URLs delimited by :// are supported. : and :/ while technically valid URLs, are not.


The mode used to open the file, as detailed for fopen().


Remember to check if the mode is valid for the path requested.


Holds additional flags set by the streams API. It can hold one or more of the following values OR'd together.

Flag Description
STREAM_USE_PATH If path is relative, search for the resource using the include_path.
STREAM_REPORT_ERRORS If this flag is set, you are responsible for raising errors using trigger_error() during opening of the stream. If this flag is not set, you should not raise any errors.


If the path is opened successfully, and STREAM_USE_PATH is set in options, opened_path should be set to the full path of the file/resource that was actually opened.

Return Values

Returns true on success or false on failure.


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



The streamWrapper::$context property is updated if a valid context is passed to the caller function.

See Also

add a note

User Contributed Notes

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