Funkcija file_put_contents

Funkcija file_put_contents įrašo duomenis į failą. Pirmasis parametras - kelias į failą, antrasis - duomenys įrašymui. Trečiasis neprivalomas parametras nustato įrašymo režimą (žr. lentelę žemiau).

Ketvirtasis neprivalomas parametras yra srauto konteksto resursas, sukurtas funkcijos stream_context_create. Leidžia konfigūruoti failo ar tinklo resurso darbo parametrus.

Sintaksė

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

Trečiojo parametro reikšmės

Vėliavėlė Aprašas
FILE_USE_INCLUDE_PATH Jei nustatyta, funkcija ieškos failo kataloguose, nurodytuose include_path parametre PHP nustatymuose faile php.ini.
FILE_APPEND Pridėti duomenis į failo galą vietoj perrašymo
LOCK_EX Gauti išskirtinį failo užrakto laiką įrašymo metu

Pavyzdys

Įrašykime eilutę į failą:

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

Kodo vykdymo rezultatas grąžina įrašytų baitų skaičių:

php5

Pavyzdys

Pridėkime duomenis į failo galą:

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

Pavyzdys

Masyvo įrašymas į failą:

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

Pavyzdys

Trečiame parametre galima nurodyti kelias vėliavėles, išvardijant jas per simbolį |. Pavyzdžiui, pridėkime duomenis su failo užraktu:

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

Pavyzdys

Konteksto naudojimas:

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

Taip pat žiūrėkite