Funkcija file_get_contents

Funkcija file_get_contents prebere vsebino datoteke in jo vrne kot niz. V prvi parameter se poda pot do datoteke, v drugi - zastavica za vključitev poti iskanja, v tretji - kontekst toka, v četrti - odmik za začetek branja, v peti - največja dolžina podatkov.

Tretji parameter je še posebej uporaben, ko je treba iskati datoteke v standardnih direktorijih, določenih v konfiguraciji PHP, in ne le po absolutni poti.

Sintaksa

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

Parametri

Parameter Opis
filename Pot do datoteke ali URL
use_include_path Če je nastavljeno na true, bo funkcija iskala datoteko v direktorijih, določenih v parametru include_path v nastavitvah PHP v datoteki php.ini. Privzeto je false.
context Vir konteksta toka
offset Odmik za začetek branja
maxlen Največja dolžina branih podatkov

Primer

Branje vsebine lokalne datoteke:

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

Rezultat izvajanja kode:

php'abcde'

Primer

Branje dela datoteke z določilom odmika in dolžine:

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

Rezultat izvajanja kode:

php'bcd'

Primer

Branje vsebine spletne strani:

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

Rezultat izvajanja kode:

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

Primer

Iskanje datoteke v include_path:

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

Rezultat izvajanja kode:

php'config_data'

Parameter konteksta toka

Parameter context omogoča prenos vira konteksta toka, ki lahko spremeni obnašanje funkcije pri delu z datotekami ali omrežnimi viri.

Vir konteksta, ustvarjen s funkcijo stream_context_create. Če ne potrebujemo posebnih nastavitev, lahko podamo null.

Možnosti konteksta:

Primer delovanja:

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

Glejte tudi

  • funkcijo file_put_contents,
    ki zapisuje podatke v datoteko
  • funkcijo fopen,
    ki odpre datoteko
  • funkcijo file,
    ki bere datoteko v polje nizov