One or more of these values can be combined using the OR
operator.
This is the default option for streams; it
requests that the include_path is not to be searched
for the requested file.
Requests that the include_path is to be searched
for the requested file.
Requests that registered URL wrappers are to be
ignored when opening the stream. Other non-URL wrappers
will be taken into consideration when decoding the
path. There is no opposite form for this flag; the
streams API will use all registered wrappers by
default.
On Windows systems, this is equivalent to
IGNORE_URL. On all other systems, this flag has no
effect.
Requests that the underlying stream implementation
perform safe_mode checks on the file before opening the
file. Omitting this flag will skip safe_mode checks and
allow opening of any file that the PHP process has
rights to access.
If this flag is set, and there was an error during
the opening of the file or URL, the streams API will
call the php_error function for you. This is useful
because the path may contain username/password
information that should not be displayed in the browser
output (it would be a security risk to do so). When the
streams API raises the error, it first strips
username/password information from the path, making the
error message safe to display in the browser.
This flag is useful when your extension really
must be able to randomly seek around in a stream. Some
streams may not be seekable in their native form, so
this flag asks the streams API to check to see if the
stream does support seeking. If it does not, it will
copy the stream into temporary storage (which may be a
temporary file or a memory stream) which does support
seeking. Please note that this flag is not useful when
you want to seek the stream and write to it, because
the stream you are accessing might not be bound to the
actual resource you requested.
注: If the requested resource is network based, this flag will cause the opener to block until the whole contents have been downloaded.
If your extension is using a third-party library
that expects a FILE* or file descriptor, you can use
this flag to request the streams API to open the
resource but avoid buffering. You can then use php_stream_cast() to retrieve the
FILE* or file descriptor that the library requires.
The is particularly useful when accessing HTTP
URLs where the start of the actual stream data is found
after an indeterminate offset into the stream.
Since this option disables buffering at the
streams API level, you may experience lower performance
when using streams functions on the stream; this is
deemed acceptable because you have told streams that
you will be using the functions to match the underlying
stream implementation. Only use this option when you
are sure you need it.