Funkce file_get_contents

Funkce file_get_contents čte obsah souboru a vrací jej jako řetězec. Do prvního parametru se předává cesta k souboru, do druhého - příznak zahrnutí vyhledávací cesty, do třetího - kontext toku, do čtvrtého - posun pro začátek čtení, do pátého - maximální délka dat.

Třetí parametr je obzvláště užitečný, když je potřeba hledat soubory ve standardních adresářích uvedených v konfiguraci PHP, a ne pouze podle absolutní cesty.

Syntaxe

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

Parametry

Parametr Popis
filename Cesta k souboru nebo URL
use_include_path Pokud je nastaveno na true, funkce bude hledat soubor v adresářích uvedených v parametru include_path v nastavení PHP v souboru php.ini. Ve výchozím nastavení false.
context Prostředek kontextu toku
offset Posun pro začátek čtení
maxlen Maximální délka čtených dat

Příklad

Čtení obsahu lokálního souboru:

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

Výsledek provedení kódu:

php'abcde'

Příklad

Čtení části souboru s uvedením posunu a délky:

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

Výsledek provedení kódu:

php'bcd'

Příklad

Čtení obsahu webové stránky:

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

Výsledek provedení kódu:

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

Příklad

Hledání souboru v include_path:

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

Výsledek provedení kódu:

php'config_data'

Parametr kontextu toku

Parametr context umožňuje předat prostředek kontextu toku, který může modifikovat chování funkce při práci se soubory nebo síťovými prostředky.

Prostředek kontextu vytvořený funkcí stream_context_create. Pokud nejsou vyžadována zvláštní nastavení, lze předat null.

Možnosti kontextu:

Příklad práce:

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);
?>

Viz také

  • funkci file_put_contents,
    která zapisuje data do souboru
  • funkci fopen,
    která otevírá soubor
  • funkci file,
    která čte soubor do pole řetězců