file_get_contents

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

file_get_contentsLê todo o conteúdo de um arquivo para uma string

Descrição

file_get_contents ( string $filename , int $flags = ? , resource $context = ? , int $offset = ? , int $maxlen = ? ) : string

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.

Changelog

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 é binary-safe.

Dica

Uma URL pode ser utilizada como um nome de arquivo se fopen wrappers estiver ativo. Veja fopen() para mais detalhes em como especificar o filename. Veja também the Protocolos e Wrappers suportados para informações sobre que capacidades cada wrapper tem, notas de uso e informações sobre variáveis predefinidas fornecidas.

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, 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ê.

Veja Também

add a note add a note

User Contributed Notes 2 notes

up
48
Bart Friederichs
9 years ago
file_get_contents can do a POST, create a context for that first:

<?php

$opts
= array('http' =>
  array(
   
'method'  => 'POST',
   
'header'  => "Content-Type: text/xml\r\n".
     
"Authorization: Basic ".base64_encode("$https_user:$https_password")."\r\n",
   
'content' => $body,
   
'timeout' => 60
 
)
);
                       
$context  = stream_context_create($opts);
$url = 'https://'.$https_server;
$result = file_get_contents($url, false, $context, -1, 40000);

?>
up
-14
jlh
6 months ago
A gotcha to look out for:

Passing NULL as $maxlen explicitely will result in an empty string being returned.  It is necessary to omit the parameter entirely or provide a desired value.
To Top