Funkce file_get_contents
Funkce file_get_contents čte obsah souboru a vrací jej
jako řetězec. Do prvního parametru se předává cesta k souboru, do druhého -
příznak zahrnutí vyhledávací cesty, do třetího - kontext toku,
do čtvrtého - posun pro začátek čtení, do pátého - maximální délka dat.
Třetí parametr je obzvláště užitečný, když je potřeba hledat soubory ve standardních adresářích uvedených v konfiguraci PHP, a ne pouze podle absolutní cesty.
Syntaxe
file_get_contents(
string $filename,
bool $use_include_path = false,
?resource $context = null,
int $offset = 0,
?int $maxlen = null
): string|false
Parametry
| Parametr | Popis |
|---|---|
filename |
Cesta k souboru nebo URL |
use_include_path |
Pokud je nastaveno na true, funkce bude hledat soubor
v adresářích uvedených v parametru include_path
v nastavení PHP v souboru php.ini.
Ve výchozím nastavení false.
|
context |
Prostředek kontextu toku |
offset |
Posun pro začátek čtení |
maxlen |
Maximální délka čtených dat |
Příklad
Čtení obsahu lokálního souboru:
<?php
$res = file_get_contents('data.txt');
echo $res;
?>
Výsledek provedení kódu:
'abcde'
Příklad
Čtení části souboru s uvedením posunu a délky:
<?php
$res = file_get_contents('data.txt', false, null, 1, 3);
echo $res;
?>
Výsledek provedení kódu:
'bcd'
Příklad
Čtení obsahu webové stránky:
<?php
$res = file_get_contents('https://example.com');
echo substr($res, 0, 50) . '...';
?>
Výsledek provedení kódu:
'<!doctype html><html><head><title>Example D...'
Příklad
Hledání souboru v include_path:
<?php
$res = file_get_contents('config.ini', true);
echo $res;
?>
Výsledek provedení kódu:
'config_data'
Parametr kontextu toku
Parametr context umožňuje předat prostředek kontextu toku,
který může modifikovat chování funkce při práci se soubory
nebo síťovými prostředky.
Prostředek kontextu vytvořený funkcí stream_context_create.
Pokud nejsou vyžadována zvláštní nastavení, lze předat null.
Možnosti kontextu:
- Nastavení HTTP hlaviček při požadavcích
- Nastavení časových limitů spojení
- Určení proxy serveru
- Práce s SSL/TLS parametry
- Nastavení přístupu k souborovému systému
Příklad práce:
<?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);
?>
Viz také
-
funkci
file_put_contents,
která zapisuje data do souboru -
funkci
fopen,
která otevírá soubor -
funkci
file,
která čte soubor do pole řetězců