self::
register();
if ($stream->
isReadable()) { $mode =
$stream->
isWritable() ? 'r+' : 'r';
} elseif ($stream->
isWritable()) { $mode = 'w';
} else { throw new \
InvalidArgumentException('The stream must be readable, '
.'writable, or both.'
);
} return fopen('guzzle://stream',
$mode, false, self::
createStreamContext($stream));
} /**
* Creates a stream context that can be used to open a stream as a php stream resource.
*
* @return resource
*/
public static function createStreamContext(StreamInterface
$stream) { return stream_context_create([ 'guzzle' =>
['stream' =>
$stream],
]);