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
file_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
$res = file_get_contents('data.txt');
echo $res;
?>
Wynik wykonania kodu:
'abcde'
Przykład
Odczyt części pliku z podaniem przesunięcia i długości:
<?php
$res = file_get_contents('data.txt', false, null, 1, 3);
echo $res;
?>
Wynik wykonania kodu:
'bcd'
Przykład
Odczyt zawartości strony internetowej:
<?php
$res = file_get_contents('https://example.com');
echo substr($res, 0, 50) . '...';
?>
Wynik wykonania kodu:
'<!doctype html><html><head><title>Example D...'
Przykład
Wyszukiwanie pliku w include_path:
<?php
$res = file_get_contents('config.ini', true);
echo $res;
?>
Wynik wykonania kodu:
'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:
- Ustawienie nagłówków HTTP przy zapytaniach
- Konfiguracja limitów czasu połączenia
- Wskazanie serwera proxy
- Praca z parametrami SSL/TLS
- Konfiguracja dostępu do systemu plików
Przykład pracy:
<?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