Reads from multiple streams, one after the other.
This is a read-only stream decorator.
Methods summary
public
|
#
__construct( array $streams = [] )
Parameters
- $streams
Streams to decorate. Each stream must
be readable.
|
public
string
|
#
__toString( )
Reads all data from the stream into a string, from the beginning to end.
Reads all data from the stream into a string, from the beginning to end.
This method MUST attempt to seek to the beginning of the stream before
reading data and read the stream until the end is reached.
Warning: This could attempt to load a large amount of data into memory.
This method MUST NOT raise an exception in order to conform with PHP's
string casting operations.
Returns
string
See
http://php.net/manual/en/language.oop5.magic.php#object.tostring
Implementation of
|
public
|
#
addStream( Psr\Http\Message\StreamInterface $stream )
Add a stream to the AppendStream
Add a stream to the AppendStream
Parameters
- $stream
- Stream to append. Must be readable.
Throws
InvalidArgumentException if the stream is not readable
|
public
string
|
#
getContents( )
Returns the remaining contents in a string
Returns the remaining contents in a string
Returns
string
Throws
RuntimeException if unable to read or an error occurs while
reading.
Implementation of
|
public
|
#
close( )
Closes each attached stream.
Closes each attached stream.
Implementation of
|
public
resource|null
|
#
detach( )
Detaches each attached stream
Detaches each attached stream
After the stream has been detached, the stream is in an unusable state.
Returns
resource|null Underlying PHP stream, if any
Implementation of
|
public
integer
|
#
tell( )
Returns the current position of the file read/write pointer
Returns the current position of the file read/write pointer
Returns
integer Position of the file pointer
Throws
RuntimeException on error.
Implementation of
|
public
integer|null
|
#
getSize( )
Tries to calculate the size by adding the size of each stream.
Tries to calculate the size by adding the size of each stream.
If any of the streams do not return a valid number, then the size of the
append stream cannot be determined and null is returned.
Returns
integer|null Returns the size in bytes if known, or null if unknown.
Implementation of
|
public
boolean
|
#
eof( )
Returns true if the stream is at the end of the stream.
Returns true if the stream is at the end of the stream.
Returns
boolean
Implementation of
|
public
|
#
rewind( )
Seek to the beginning of the stream.
Seek to the beginning of the stream.
If the stream is not seekable, this method will raise an exception;
otherwise, it will perform a seek(0).
Throws
RuntimeException on failure.
See
Link
Implementation of
|
public
|
#
seek( integer $offset, integer $whence = SEEK_SET )
Attempts to seek to the given position. Only supports SEEK_SET.
Attempts to seek to the given position. Only supports SEEK_SET.
Parameters
- $offset
- Stream offset
- $whence
Specifies how the cursor position will be calculated
based on the seek offset. Valid values are identical to the built-in
PHP $whence values for fseek() . SEEK_SET: Set position equal to
offset bytes SEEK_CUR: Set position to current location plus offset
SEEK_END: Set position to end-of-stream plus offset.
Throws
RuntimeException on failure.
Implementation of
|
public
string
|
#
read( integer $length )
Reads from all of the appended streams until the length is met or EOF.
Reads from all of the appended streams until the length is met or EOF.
Parameters
- $length
Read up to $length bytes from the object and return
them. Fewer than $length bytes may be returned if underlying stream
call returns fewer bytes.
Returns
string Returns the data read from the stream, or an empty string
if no bytes are available.
Throws
RuntimeException if an error occurs.
Implementation of
|
public
boolean
|
#
isReadable( )
Returns whether or not the stream is readable.
Returns whether or not the stream is readable.
Returns
boolean
Implementation of
|
public
boolean
|
#
isWritable( )
Returns whether or not the stream is writable.
Returns whether or not the stream is writable.
Returns
boolean
Implementation of
|
public
boolean
|
#
isSeekable( )
Returns whether or not the stream is seekable.
Returns whether or not the stream is seekable.
Returns
boolean
Implementation of
|
public
integer
|
#
write( string $string )
Write data to the stream.
Write data to the stream.
Parameters
- $string
- The string that is to be written.
Returns
integer Returns the number of bytes written to the stream.
Throws
RuntimeException on failure.
Implementation of
|
public
array|mixed|null
|
#
getMetadata( string $key = null )
Get stream metadata as an associative array or retrieve a specific key.
Get stream metadata as an associative array or retrieve a specific key.
The keys returned are identical to the keys returned from PHP's
stream_get_meta_data() function.
Parameters
- $key
- Specific metadata to retrieve.
Returns
array|mixed|null Returns an associative array if no key is
provided. Returns a specific key value if a key is provided and the
value is found, or null if the key is not found.
Link
Implementation of
|