stream_get_contents

(PHP 5, PHP 7, PHP 8)

stream_get_contentsLê o restante de um fluxo em uma string

Descrição

stream_get_contents(resource $stream, ?int $length = null, int $offset = -1): string|false

Idêntico a file_get_contents(), exceto que stream_get_contents() opera em um recurso de fluxo já aberto e retorna o conteúdo remanescente em uma string, até o número de bytes definido em length e iniciando na posição offset especificada.

Parâmetros

stream (resource)

Um recurso de fluxo (ex.: retornado de fopen())

length (int)

O máximo de bytes para leitura. O padrão é null (ler todo o buffer remanescente).

offset (int)

Posiciona o ponteiro até o deslocamento especificado antes da leitura. Se o número for negativo, não irá ocorrer deslocamento e a leitura irá iniciar na posição atual.

Valor Retornado

Retorna uma string ou false em caso de falha.

Registro de Alterações

Versão Descrição
8.0.0 length agora pode ser nulo.

Exemplos

Example #1 Exemplo de stream_get_contents()

<?php

if ($stream = fopen('http://www.example.com', 'r')) {
    // mostra toda a página iniciando na posição 10
    echo stream_get_contents($stream, -1, 10);

    fclose($stream);
}


if ($stream = fopen('http://www.example.net', 'r')) {
    // mostra os 5 primeiros bytes
    echo stream_get_contents($stream, 5);

    fclose($stream);
}

?>

Notas

Note: Esta função é compatível com dados binários.

Note:

Ao especificar um valor de length diferente de null, esta função irá imediatamente alocar um buffer interno deste tamanho, mesmo que o conteúdo real seja significativamente menor.

Veja Também

  • fgets() - Lê uma linha de um ponteiro de arquivo
  • fread() - Leitura de arquivo segura para binário
  • fpassthru() - Imprime todo os dados restantes de um ponteiro de arquivo