stream_get_contents

Reads remainder of a stream into a string

&reftitle.description; ``string``false```stream_get_contents` `resource` `stream` ``int``null```length`&null; `int` `offset`-1

Identical to `file_get_contents`, except that `stream_get_contents` operates on an already open stream resource and returns the remaining contents in a string, up to `length` bytes and starting at the specified `offset`.

&reftitle.parameters;

`stream` (`resource`)

- A stream resource (e.g. returned from `fopen`)

`length` (`int`)

- The maximum bytes to read. Defaults to &null; (read all the remaining buffer).

`offset` (`int`)

- Seek to the specified offset before reading. If this number is negative, no seeking will occur and reading will start from the current position.

&reftitle.returnvalues;

Returns a string&return.falseforfailure;.

&reftitle.changelog;

&Version; | &Description;
8.0.0 | `length` is now nullable.

&reftitle.examples;

### `stream_get_contents` example

    <?php

    if ($stream = fopen('http://www.example.com', 'r')) {
        // print all the page starting at the offset 10
        echo stream_get_contents($stream, -1, 10);

        fclose($stream);
    }

    if ($stream = fopen('http://www.example.net', 'r')) {
        // print the first 5 bytes
        echo stream_get_contents($stream, 5);

        fclose($stream);
    }

    ?>

&reftitle.notes; ¬e.bin-safe;

When specifying a `length` value other than &null;, this function will immediately allocate an internal buffer of that size even if the actual contents are significantly shorter.

&reftitle.seealso;

- `fgets`
- `fread`
- `fpassthru`