Função file_get_contents

A função file_get_contents lê o conteúdo de um arquivo e retorna como uma string. O primeiro parâmetro é o caminho para o arquivo, o segundo - um flag para incluir o caminho de busca, o terceiro - o contexto do fluxo, o quarto - o deslocamento para início da leitura, o quinto - o comprimento máximo dos dados.

O terceiro parâmetro é especialmente útil quando é necessário buscar arquivos nos diretórios padrão, especificados na configuração do PHP, e não apenas pelo caminho absoluto.

Sintaxe

phpfile_get_contents(
  string $filename,
  bool $use_include_path = false,
  ?resource $context = null,
  int $offset = 0,
  ?int $maxlen = null
): string|false

Parâmetros

Parâmetro Descrição
filename Caminho para o arquivo ou URL
use_include_path Se definido como true, a função buscará o arquivo nos diretórios especificados no parâmetro include_path nas configurações do PHP no arquivo php.ini. Por padrão false.
context Recurso de contexto do fluxo
offset Deslocamento para início da leitura
maxlen Comprimento máximo dos dados lidos

Exemplo

Lendo o conteúdo de um arquivo local:

php<?php
  $res = file_get_contents('data.txt');
  echo $res;
?>

Resultado da execução do código:

php'abcde'

Exemplo

Lendo parte de um arquivo com especificação de deslocamento e comprimento:

php<?php
  $res = file_get_contents('data.txt', false, null, 1, 3);
  echo $res;
?>

Resultado da execução do código:

php'bcd'

Exemplo

Lendo o conteúdo de uma página web:

php<?php
  $res = file_get_contents('https://example.com');
  echo substr($res, 0, 50) . '...';
?>

Resultado da execução do código:

php'<!doctype html><html><head><title>Example D...'

Exemplo

Buscando um arquivo no include_path:

php<?php
  $res = file_get_contents('config.ini', true);
  echo $res;
?>

Resultado da execução do código:

php'config_data'

Parâmetro de contexto do fluxo

O parâmetro context permite passar um recurso de contexto do fluxo, que pode modificar o comportamento da função ao trabalhar com arquivos ou recursos de rede.

Recurso de contexto criado pela função stream_context_create. Se não forem necessárias configurações especiais, pode-se passar null.

Capacidades do contexto:

Exemplo de uso:

php<?php
  $opts = [
    'http' => [
      'method' => "GET",
      'header' => "Accept-language: en\r\n"
    ]
  ];
  $context = stream_context_create($opts);
  $res = file_get_contents('https://example.com', false, $context);
?>

Veja também

  • a função file_put_contents,
    que grava dados em um arquivo
  • a função fopen,
    que abre um arquivo
  • a função file,
    que lê um arquivo em um array de strings