Funktsioon file_put_contents

Funktsioon file_put_contents kirjutab andmed faili. Esimene parameeter on faili tee, teine - kirjutatavad andmed. Kolmas valikuline parameeter määratleb kirjutamise režiimi (vt allolevat tabelit).

Neljas valikuline parameeter on voo konteksti ressurss, mis on loodud funktsiooniga stream_context_create. Võimaldab konfigureerida faili- või võrguressursiga töötamise parameetreid.

Süntaks

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

Kolmanda parameetri väärtused

Lipp Kirjeldus
FILE_USE_INCLUDE_PATH Kui seatud, otsib funktsioon faili PHP seadete failis php.ini parameetris include_path määratud kataloogidest.
FILE_APPEND Kirjuta andmed faili lõppu ülekirjutamise asemel
LOCK_EX Hankida faili eksklusiivne lukustus kirjutamise ajaks

Näide

Kirjutame stringi faili:

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

Koodi täitmise tulemus tagastab kirjutatud baitide arvu:

php5

Näide

Lisame andmed faili lõppu:

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

Näide

Massiivi kirjutamine faili:

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

Näide

Kolmandas parameetris saab määrata mitu lippu, loetledes need sümboli | abil. Näitena kirjutame andmed faili lõppu faili lukustades:

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

Näide

Konteksti kasutamine:

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

Vaata ka