Функция 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 Агар ўрнатилган бўлса, функция файлни PHP созламаларидаги php.ini файлидаги include_path параметрида кўрсатилган директориялардан излайди.
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,
    файлга ёзади