Функцыя file_get_contents

Функцыя file_get_contents чытае змест файла і вяртае яго ў выглядзе радка. У першы параметр перадаецца шлях да файла, у другі - флаг уключэння шляху пошуку, у трэці - кантэкст патоку, у чацвёрты - зрушэнне для пачатку чытання, у пяты - максімальная даўжыня дадзеных.

Трэці параметр асабліва карысны, калі трэба шукаць файлы ў стандартных дырэкторыях, указаных у канфігурацыі PHP, а не толькі па абсалютным шляху.

Сінтаксіс

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

Параметры

Параметр Апісанне
filename Шлях да файла або URL
use_include_path Калі ўстаноўлена ў true, функцыя будзе шукаць файл у дырэкторыях, указаных у параметры include_path у наладах PHP у файле php.ini. Па змаўчанні false.
context Рэсурс кантэксту патоку
offset Зрушэнне для пачатку чытання
maxlen Максімальная даўжыня чытаемых дадзеных

Прыклад

Чытанне зместу лакальнага файла:

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

Вынік выканання кода:

php'abcde'

Прыклад

Чытанне часткі файла з указаннем зрушэння і даўжыні:

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

Вынік выканання кода:

php'bcd'

Прыклад

Чытанне зместу вэб-старонкі:

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

Вынік выканання кода:

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

Прыклад

Пошук файла ў include_path:

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

Вынік выканання кода:

php'config_data'

Параметр кантэксту патоку

Параметр context дазваляе перадаць рэсурс кантэксту патоку, які можа мадыфікаваць паводзіны функцыі пры рабоце з файламі ці сеткавымі рэсурсамі.

Рэсурс кантэксту, створаны функцыяй stream_context_create. Калі не патрабуецца асаблівых налад, можна перадаць null.

Магчымасці кантэксту:

Прыклад работы:

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

Глядзіце таксама

  • функцыю file_put_contents,
    якая запісвае дадзеныя ў файл
  • функцыю fopen,
    якая адкрывае файл
  • функцыю file,
    якая чытае файл у масіў радкоў