Funktio file_get_contents
Funktio file_get_contents lukee tiedoston sisällön ja palauttaa sen
merkkijonona. Ensimmäiseen parametriin annetaan polku tiedostoon, toiseen -
lippu hakupolun sisällyttämiseksi, kolmanteen - virman konteksti,
neljänteen - siirtymä lukemisen aloittamiseksi, viidenteen - luettavien tietojen enimmäispituus.
Kolmas parametri on erityisen hyödyllinen, kun tiedostoja on etsittävä PHP:n asetustiedostossa määritellyistä vakiohakemistoista, ei vain absoluuttista polkua pitkin.
Syntaksi
file_get_contents(
string $filename,
bool $use_include_path = false,
?resource $context = null,
int $offset = 0,
?int $maxlen = null
): string|false
Parametrit
| Parametri | Kuvaus |
|---|---|
filename |
Polku tiedostoon tai URL-osoite |
use_include_path |
Jos asetettu arvoon true, funktio etsii tiedostoa
PHP:n asetustiedostossa php.ini olevan include_path-parametrin
määrittelemistä hakemistoista.
Oletusarvoisesti false.
|
context |
Virman kontekstiresurssi |
offset |
Siirtymä lukemisen aloittamiseksi |
maxlen |
Luettavien tietojen enimmäispituus |
Esimerkki
Paikallisen tiedoston sisällön lukeminen:
<?php
$res = file_get_contents('data.txt');
echo $res;
?>
Koodin suorituksen tulos:
'abcde'
Esimerkki
Osa tiedoston lukemisesta määrittämällä siirtymä ja pituus:
<?php
$res = file_get_contents('data.txt', false, null, 1, 3);
echo $res;
?>
Koodin suorituksen tulos:
'bcd'
Esimerkki
Verkkosivun sisällön lukeminen:
<?php
$res = file_get_contents('https://example.com');
echo substr($res, 0, 50) . '...';
?>
Koodin suorituksen tulos:
'<!doctype html><html><head><title>Example D...'
Esimerkki
Tiedoston etsiminen include_pathista:
<?php
$res = file_get_contents('config.ini', true);
echo $res;
?>
Koodin suorituksen tulos:
'config_data'
Virman kontekstiparametri
Parametri context mahdollistaa virman kontekstiresurssin välittämisen,
joka voi muokata funktion käyttäytymistä tiedostoilla tai
verkkoresursseilla työskenneltäessä.
Funktiolla stream_context_create luotu kontekstiresurssi.
Jos erityisiä asetuksia ei tarvita, voidaan välittää null.
Kontekstin mahdollisuudet:
- HTTP-otsikoiden asettaminen pyynnöissä
- Yhteyden aikakatkaisujen määrittäminen
- Välityspalvelimen määrittäminen
- SSL/TLS-parametrien käsittely
- Tiedostojärjestelmän käyttöoikeuksien määrittäminen
Esimerkki toiminnasta:
<?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);
?>
Katso myös
-
funktion
file_put_contents,
joka kirjoittaa dataa tiedostoon -
funktion
fopen,
joka avaa tiedoston -
funktion
file,
joka lukee tiedoston merkkijonotaulukoksi