\GuzzleHttp\Psr7AppendStream

Reads from multiple streams, one after the other.

This is a read-only stream decorator.

Summary

Methods
Properties
Constants
__construct()
__toString()
addStream()
getContents()
close()
detach()
tell()
getSize()
eof()
rewind()
seek()
read()
isReadable()
isWritable()
isSeekable()
write()
getMetadata()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
$streams
$seekable
$current
$pos
N/A

Properties

$seekable

$seekable : 

Type

$current

$current : 

Type

$pos

$pos : 

Type

Methods

__construct()

__construct(array<mixed,\Psr\Http\Message\StreamInterface>  $streams = array()) 

Parameters

array<mixed,\Psr\Http\Message\StreamInterface> $streams

Streams to decorate. Each stream must be readable.

__toString()

__toString() : string

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

addStream()

addStream(\Psr\Http\Message\StreamInterface  $stream) 

Add a stream to the AppendStream

Parameters

\Psr\Http\Message\StreamInterface $stream

Stream to append. Must be readable.

Throws

\InvalidArgumentException

if the stream is not readable

getContents()

getContents() : string

Returns the remaining contents in a string

Returns

string

close()

close() : void

Closes each attached stream.

detach()

detach() : resource|null

Detaches each attached stream.

Returns null as it's not clear which underlying stream resource to return.

After the stream has been detached, the stream is in an unusable state.

Returns

resource|null —

Underlying PHP stream, if any

tell()

tell() : integer

Returns the current position of the file read/write pointer

Returns

integer —

Position of the file pointer

getSize()

getSize() : integer|null

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.

eof()

eof() : boolean

Returns true if the stream is at the end of the stream.

Returns

boolean

rewind()

rewind() 

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).

seek()

seek(integer  $offset, integer  $whence = SEEK_SET) 

Attempts to seek to the given position. Only supports SEEK_SET.

Parameters

integer $offset

Stream offset

integer $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.

read()

read(integer  $length) : string

Reads from all of the appended streams until the length is met or EOF.

Parameters

integer $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.

isReadable()

isReadable() : boolean

Returns whether or not the stream is readable.

Returns

boolean

isWritable()

isWritable() : boolean

Returns whether or not the stream is writable.

Returns

boolean

isSeekable()

isSeekable() : boolean

Returns whether or not the stream is seekable.

Returns

boolean

write()

write(string  $string) : integer

Write data to the stream.

Parameters

string $string

The string that is to be written.

Returns

integer —

Returns the number of bytes written to the stream.

getMetadata()

getMetadata(string  $key = null) : array|mixed|null

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

string $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.