(PHP 4 >= 4.3.0, PHP 5)
file_get_contents — Lê todo o conteúdo de um arquivo para uma 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().
filename
Nome do arquivo para ler.
flags
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
(|).
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.
A função retorna os dados lidos ou FALSE
em caso de falha.
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 .
|
Nota: Esta função é binary-safe.
Você pode usar uma URL como um nome de arquivo nesta função se fopen wrappers estiver habilitado. Veja fopen() para mais detalhes em como especificar o nome do arquivo e Supported Protocols and Wrappers para uma lista de protocolos URL suportados.
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, o valor de error_reporting deve ser reduzido para um nível que não inclui avisos. 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á os avisos. Se você está usando fsockopen() para criar um socket ssl://, a responsabilidade de detectar e suprimir esse aviso passa para você.