Description
php_stream *
php_stream_open_wrapper ( char * path, char * mode, int options, char ** opened )
php_stream_open_wrapper() opens a stream on the file, URL or
other wrapped resource specified by path. Depending on
the value of mode, the stream may be opened for reading,
writing, appending or combinations of those. See the table below for the different
modes that can be used; in addition to the characters listed below, you may
include the character 'b' either as the second or last character in the mode string.
The presence of the 'b' character informs the relevant stream implementation to
open the stream in a binary safe mode.
The 'b' character is ignored on all POSIX conforming systems which treat
binary and text files in the same way. It is a good idea to specify the 'b'
character whenever your stream is accessing data where the full 8 bits
are important, so that your code will work when compiled on a system
where the 'b' flag is important.
Any local files created by the streams API will have their initial permissions set
according to the operating system defaults - under Unix based systems
this means that the umask of the process will be used. Under Windows,
the file will be owned by the creating process.
Any remote files will be created according to the URL wrapper that was
used to open the file, and the credentials supplied to the remote server.
- r
Open text file for reading. The stream is positioned at the beginning of
the file.
- r+
Open text file for reading and writing. The stream is positioned at the beginning of
the file.
- w
Truncate the file to zero length or create text file for writing.
The stream is positioned at the beginning of the file.
- w+
Open text file for reading and writing. The file is created if
it does not exist, otherwise it is truncated. The stream is positioned at
the beginning of the file.
- a
Open for writing. The file is created if it does not exist.
The stream is positioned at the end of the file.
- a+
Open text file for reading and writing. The file is created if
it does not exist. The stream is positioned at the end of the file.
options affects how the path/URL of the stream is
interpreted, safe mode checks and actions taken if there is an error during opening
of the stream. See Stream open options for
more information about options.
If opened is not NULL, it will be set to a string containing
the name of the actual file/resource that was opened. This is important when the
options include USE_PATH, which causes the include_path to be searched for the
file. You, the caller, are responsible for calling efree() on
the filename returned in this parameter.
Note:
If you specified STREAM_MUST_SEEK in options,
the path returned in opened may not be the name of the
actual stream that was returned to you. It will, however, be the name of the original
resource from which the seekable stream was manufactured.