Функција file_put_contents

Функција file_put_contents уписује податке у фајл. Први параметар је путања до фајла, други су подаци за упис. Трећи опциони параметар дефинише режим уписа (види табелу испод).

Четврти опциони параметар представља ресурс контекста тока, креиран функцијом stream_context_create. Омогућава подешавање параметара рада са фајлом или мрежним ресурсом.

Синтакса

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

Вредности трећег параметра

Флаг Опис
FILE_USE_INCLUDE_PATH Ако је постављен, функција ће тражити фајл у директоријумима наведеним у параметру include_path у подешавањима PHP-а у фајлу php.ini.
FILE_APPEND Додаје податке на крај фајла уместо преписивања
LOCK_EX Добије ексклузивно закључавање фајла за време уписа

Пример

Упишимо низ у фајл:

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

Резултат извршавања кода враћа број уписаних бајтова:

php5

Пример

Додајмо податке на крај фајла:

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

Пример

Упис низа у фајл:

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

Пример

У трећем параметру се могу навести више флагова, набрајајући их симболом |. На пример, додајмо податке са закључањем фајла:

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

Пример

Коришћење контекста:

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

Погледајте такође

  • функцију file_get_contents,
    која чита садржај фајла
  • функцију fopen,
    која отвара фајл
  • функцију fwrite,
    која уписује у фајл