Funkcja file_get_contents

Funkcja file_get_contents odczytuje zawartość pliku i zwraca ją w postaci ciągu znaków. W pierwszy parametr przekazywana jest ścieżka do pliku, w drugi - flaga uwzględnienia ścieżki wyszukiwania, w trzeci - kontekst strumienia, w czwarty - przesunięcie dla początku odczytu, w piąty - maksymalna długość danych.

Trzeci parametr jest szczególnie przydatny, gdy trzeba szukać plików w standardowych katalogach, wskazanych w konfiguracji PHP, a nie tylko po ścieżce bezwzględnej.

Składnia

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

Parametry

Parametr Opis
filename Ścieżka do pliku lub URL
use_include_path Jeśli ustawione na true, funkcja będzie szukać pliku w katalogach, wskazanych w parametrze include_path w ustawieniach PHP w pliku php.ini. Domyślnie false.
context Zasób kontekstu strumienia
offset Przesunięcie dla początku odczytu
maxlen Maksymalna długość odczytywanych danych

Przykład

Odczyt zawartości lokalnego pliku:

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

Wynik wykonania kodu:

php'abcde'

Przykład

Odczyt części pliku z podaniem przesunięcia i długości:

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

Wynik wykonania kodu:

php'bcd'

Przykład

Odczyt zawartości strony internetowej:

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

Wynik wykonania kodu:

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

Przykład

Wyszukiwanie pliku w include_path:

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

Wynik wykonania kodu:

php'config_data'

Parametr kontekstu strumienia

Parametr context pozwala przekazać zasób kontekstu strumienia, który może modyfikować zachowanie funkcji przy pracy z plikami lub zasobami sieciowymi.

Zasób kontekstu, utworzony funkcją stream_context_create. Jeśli nie są wymagane szczególne ustawienia, można przekazać null.

Możliwości kontekstu:

Przykład pracy:

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

Zobacz też

  • funkcję file_put_contents,
    która zapisuje dane do pliku
  • funkcję fopen,
    która otwiera plik
  • funkcję file,
    która odczytuje plik do tablicy ciągów znaków