Funkcija file_put_contents

Funkcija file_put_contents upisuje podatke u fajl. Prvi parametar - putanja do fajla, drugi - podaci za upis. Treći opcioni parametar definiše režim upisa (vidi tabelu ispod).

Četvrti opcioni parametar predstavlja resurs konteksta toka, kreiran od strane funkcije stream_context_create. Dozvoljava podešavanje parametara rada sa fajlom ili mrežnim resursom.

Sintaksa

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

Vrednosti trećeg parametra

Zastavica Opis
FILE_USE_INCLUDE_PATH Ako je postavljena, funkcija će tražiti fajl u direktorijumima navedenim u parametru include_path u podešavanjima PHP-a u fajlu php.ini.
FILE_APPEND Dodati podatke na kraj fajla umesto prepisivanja
LOCK_EX Dobiti ekskluzivno zaključavanje fajla za vreme upisa

Primer

Hajde da upišemo string u fajl:

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

Rezultat izvršavanja koda vraća broj upisanih bajtova:

php5

Primer

Hajde da dodamo podatke na kraj fajla:

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

Primer

Upisivanje niza u fajl:

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

Primer

U trećem parametru mogu se navesti više zastavica, navodeći ih preko simbola |. Za primer, dopišimo podatke sa zaključavanjem fajla:

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

Primer

Korišćenje konteksta:

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

Pogledajte takođe