Forum und email

file_get_contents

(PHP 4 >= 4.3.0, PHP 5)

file_get_contents — Lê todo o conteúdo de um arquivo para uma string

Descrição

string file_get_contents ( string $filename [, int $flags [, resource $context [, int $offset [, int $maxlen ]]]] )

Esta função é semelhante à file(), exceto que file_get_contents() retorna o arquivo em uma string, começando a partir de offset até maxlen bytes. Em caso de falha, file_get_contents() retornará FALSE.

file_get_contents() é o método preferível para ler o conteúdo de um arquivo em uma string. Ela usa técnicas de mapeamento de memória suportadas pelo seu SO para melhorar a performance.

Nota: Se você estiver abrindo uma URI com caracteres especiais, como espaços, você precisa codificar a URI com urlencode().

Parâmetros

filename

Nome do arquivo para ler.

flags
Aviso

Para todas as versões anteriores ao PHP 6, este parâmetro é chamado use_include_path e é um bool. O parâmetro flags está disponível somente a partir do PHP 6. Se você estiver usando uma versão anterior e quiser buscar o arquivo filename no include_path, este parâmetro deve ser TRUE. A partir do PHP 6, você deve usar a flag FILE_USE_INCLUDE_PATH.

O valor de flags pode ser qualquer combinação das seguintes flags (com algumas restrições), unidas com o operador binário OR (|).

Flags disponíveis
Flag Descrição
FILE_USE_INCLUDE_PATH Procura o arquivo filename nos diretórios de include. Veja include_path para mais informações.
FILE_TEXT Se a semântica unicode estiver habilitada, o encoding padrão dos dados lidos é UTF-8. Você pode especificar um encoding diferente criando um contexto personalizado ou alterando o encoding padrão utilizando stream_default_encoding(). Esta flag não pode ser usada com FILE_BINARY.
FILE_BINARY Com esta flag, o arquivo é lido em modo binário. Esta é a opção padrão e não pode ser usada com FILE_TEXT.

context

Um recurso de contexto válido, criado com stream_context_create(). Se você não precisa usar um contexto personalizado, você pode ignorar este parâmetro passando NULL.

offset

O ponto onde a leitura deve começar.

maxlen

Comprimento máximo dos dados lidos.

Valor Retornado

A função retorna os dados lidos ou FALSE em caso de falha.

Histórico

Versão Descrição
5.0.0 Adicionado suporte a contexto.
5.1.0 Adicionados os parâmetros offset e maxlen .
6.0.0 O parâmetro use_include_path foi substituído pelo parâmetro flags .

Notas

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

Dica

Você pode usar uma URL com esta função se fopen wrappers estiver habilitado. Veja fopen() para mais detalhes em como especificar o nome do arquivo e List of Supported Protocols/Wrappers para uma lista de protocolos URL suportados.

Aviso

Quando usando SSL, o Microsoft IIS irá violar o protocolo fechando a conexão sem enviar uma notificação close_notify. O PHP acusará isso como sendo "SSL: Fatal Protocol Error" quando tentar ler os dados. Para prevenir isso, você deve baixar seu error_reporting para o nível que não emita warnings. O PHP 4.3.7 e seguintes conseguem detectar servidores IIS defeituosos quando você abre um stream utilizando o wrapper https:// e suprimirá a mensagem de warning para você. Se você está usando fsockopen() para criar um socket ssl://, a responsabilidade de detectar e suprimir esse warning passa para você.