Функция file_get_contents
Функция file_get_contents
читает содержимое файла и возвращает его
в виде строки. В первый параметр передается путь к файлу, во второй -
флаг включения пути поиска, в третий - контекст потока,
в четвертый - смещение для начала чтения, в пятый - максимальная длина данных.
Третий параметр особенно полезен, когда нужно искать файлы в стандартных директориях, указанных в конфигурации PHP, а не только по абсолютному пути.
Синтаксис
file_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
$res = file_get_contents('data.txt');
echo $res;
?>
Результат выполнения кода:
'abcde'
Пример
Чтение части файла с указанием смещения и длины:
<?php
$res = file_get_contents('data.txt', false, null, 1, 3);
echo $res;
?>
Результат выполнения кода:
'bcd'
Пример
Чтение содержимого веб-страницы:
<?php
$res = file_get_contents('https://example.com');
echo substr($res, 0, 50) . '...';
?>
Результат выполнения кода:
'<!doctype html><html><head><title>Example D...'
Пример
Поиск файла в include_path:
<?php
$res = file_get_contents('config.ini', true);
echo $res;
?>
Результат выполнения кода:
'config_data'
Параметр контекста потока
Параметр context
позволяет передать ресурс контекста потока,
который может модифицировать поведение функции при работе с файлами
или сетевыми ресурсами.
Ресурс контекста, созданный функцией stream_context_create
.
Если не требуется особых настроек, можно передать null
.
Возможности контекста:
- Установка HTTP-заголовков при запросах
- Настройка таймаутов соединения
- Указание прокси-сервера
- Работа с SSL/TLS параметрами
- Настройка доступа к файловой системе
Пример работы:
<?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
,
которая читает файл в массив строк