A file_put_contents függvény

A file_put_contents függvény adatokat ír fájlba. Az első paraméter a fájl elérési útja, a második az írandó adat. A harmadik opcionális paraméter határozza meg az írási módot (lásd az alábbi táblázatot).

A negyedik opcionális paraméter egy stream környezet erőforrás, amit a stream_context_create függvény hoz létre. Lehetővé teszi a fájllal vagy hálózati erőforrással való munka paramétereinek beállítását.

Szintaxis

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

A harmadik paraméter értékei

Flag Leírás
FILE_USE_INCLUDE_PATH Ha be van állítva, a függvény a fájlt a PHP beállításaiban, a php.ini fájlban az include_path paraméterben megadott könyvtárakban fogja keresni.
FILE_APPEND Az adatokat a fájl végéhez fűzi a felülírás helyett
LOCK_EX Exkluzív lockot szerez a fájlra az írás idejére

Példa

Írjunk egy stringet fájlba:

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

A kód végrehajtásának eredménye visszaadja az írt bájtok számát:

php5

Példa

Adjunk hozzá adatokat a fájl végéhez:

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

Példa

Tömb írása fájlba:

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

Példa

A harmadik paraméterben több flag is megadható, a | szimbólummal elválasztva. Példaként fűzzünk hozzá adatot a fájl lockolásával:

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

Példa

Környezet használata:

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

Lásd még

  • a file_get_contents függvényt,
    ami egy fájl tartalmát olvassa
  • a fopen függvényt,
    ami fájlt nyit
  • a fwrite függvényt,
    ami fájlba ír