Funktio file_put_contents

Funktio file_put_contents kirjoittaa dataa tiedostoon. Ensimmäinen parametri on polku tiedostoon, toinen on kirjoitettava data. Kolmas valinnainen parametri määrittää kirjoitustilan (katso alla oleva taulukko).

Neljäs valinnainen parametri on stream-konteksti resurssi, luotu funktiolla stream_context_create. Mahdollistaa tiedoston tai verkkoresurssin kanssa työskentelyasetusten määrittämisen.

Syntaksi

phpfile_put_contents(
  string $filename,
  mixed $data,
  int $flags = 0,
  ?resource $context = null
): int|false

Kolmannen parametrin arvot

Lippu Kuvaus
FILE_USE_INCLUDE_PATH Jos asetettu, funktio etsii tiedostoa PHP:n asetustiedostossa php.ini include_path-parametrissa määritellyistä hakemistoista.
FILE_APPEND Lisää data tiedoston loppuun korvaamisen sijaan
LOCK_EX Hankki yksinoikeuden tiedoston lukituksen kirjoituksen ajaksi

Esimerkki

Kirjoitetaan merkkijono tiedostoon:

php<?php
  $res = file_put_contents('data.txt', 'abcde');
  echo $res;
?>

Koodin suorituksen tulos palauttaa kirjoitettujen tavujen määrän:

php5

Esimerkki

Lisätään data tiedoston loppuun:

php<?php
  $res = file_put_contents('data.txt', '12345', FILE_APPEND);
  echo $res;
?>

Esimerkki

Taulukon kirjoittaminen tiedostoon:

php<?php
  $data = ['a', 'b', 'c'];
  $res = file_put_contents('array.txt', implode(',', $data));
  echo $res;
?>

Esimerkki

Kolmannessa parametrissa voidaan määrittää useita lippuja, luettelemalla ne |-merkin avulla. Esimerkkinä lisätään data tiedoston lukituksella:

php<?php
  $res = file_put_contents(
    'log.txt',
    "text",
    FILE_APPEND | LOCK_EX
  );
  echo $res;
?>

Esimerkki

Kontekstin käyttö:

php<?php
  $opts = [
    'http' => [
      'method' => "POST",
      'header' => "Content-type: text/plain\r\n"
    ]
  ];
  
  $context = stream_context_create($opts);
  
  $res = file_put_contents(
    'http://example.com/api',
    'data=test',
    false,
    $context
  );
?>

Katso myös

  • funktion file_get_contents,
    joka lukee tiedoston sisällön
  • funktion fopen,
    joka avaa tiedoston
  • funktion fwrite,
    joka kirjoittaa tiedostoon