Funkcia file_get_contents

Funkcia file_get_contents číta obsah súboru a vráti ho vo forme reťazca. Do prvého parametra sa odovzdáva cesta k súboru, do druhého - príznak zapnutia cesty vyhľadávania, do tretieho - kontext toku, do štvrtého - posun pre začiatok čítania, do piateho - maximálna dĺžka údajov.

Tretí parameter je obzvlášť užitočný, keď je potrebné hľadať súbory v štandardných adresároch uvedených v konfigurácii PHP, a nie len podľa absolútnej cesty.

Syntax

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

Parametre

Parameter Popis
filename Cesta k súboru alebo URL
use_include_path Ak je nastavené na true, funkcia bude hľadať súbor v adresároch uvedených v parametri include_path v nastaveniach PHP v súbore php.ini. Predvolene false.
context Prostriedok kontextu toku
offset Posun pre začiatok čítania
maxlen Maximálna dĺžka čítaných údajov

Príklad

Čítanie obsahu lokálneho súboru:

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

Výsledok vykonania kódu:

php'abcde'

Príklad

Čítanie časti súboru so zadaním posunu a dĺžky:

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

Výsledok vykonania kódu:

php'bcd'

Príklad

Čítanie obsahu webovej stránky:

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

Výsledok vykonania kódu:

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

Príklad

Hľadanie súboru v include_path:

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

Výsledok vykonania kódu:

php'config_data'

Parameter kontextu toku

Parameter context umožňuje odovzdať prostriedok kontextu toku, ktorý môže modifikovať správanie funkcie pri práci so súbormi alebo sieťovými prostriedkami.

Prostriedok kontextu, vytvorený funkciou stream_context_create. Ak nie sú potrebné špeciálne nastavenia, možno odovzdať null.

Možnosti kontextu:

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

Pozrite tiež

  • funkciu file_put_contents,
    ktorá zapisuje údaje do súboru
  • funkciu fopen,
    ktorá otvára súbor
  • funkciu file,
    ktorá číta súbor do poľa reťazcov