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

phpfile_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<?php
  $res = file_get_contents('data.txt');
  echo $res;
?>

Koodin suorituksen tulos:

php'abcde'

Esimerkki

Osa tiedoston lukemisesta määrittämällä siirtymä ja pituus:

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

Koodin suorituksen tulos:

php'bcd'

Esimerkki

Verkkosivun sisällön lukeminen:

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

Koodin suorituksen tulos:

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

Esimerkki

Tiedoston etsiminen include_pathista:

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

Koodin suorituksen tulos:

php'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:

Esimerkki toiminnasta:

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

Katso myös

  • funktion file_put_contents,
    joka kirjoittaa dataa tiedostoon
  • funktion fopen,
    joka avaa tiedoston
  • funktion file,
    joka lukee tiedoston merkkijonotaulukoksi