file_get_contents

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

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 URLs como nome de arquivo. 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 1 note

up
54
Bart Friederichs
8 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);

?>
To Top