Função file_put_contents

A função file_put_contents grava dados em um arquivo. O primeiro parâmetro - caminho para o arquivo, o segundo - dados para escrita. O terceiro parâmetro opcional define o modo de escrita (veja a tabela abaixo).

O quarto parâmetro opcional representa um recurso de contexto de fluxo, criado pela função stream_context_create. Permite configurar parâmetros de trabalho com arquivo ou recurso de rede.

Sintaxe

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

Valores do terceiro parâmetro

Bandeira Descrição
FILE_USE_INCLUDE_PATH Se definido, a função irá procurar pelo arquivo nos diretórios especificados no parâmetro include_path nas configurações do PHP no arquivo php.ini.
FILE_APPEND Acrescentar dados ao final do arquivo em vez de sobrescrever
LOCK_EX Obter um bloqueio exclusivo do arquivo durante a escrita

Exemplo

Vamos gravar uma string em um arquivo:

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

O resultado da execução do código retorna o número de bytes gravados:

php5

Exemplo

Vamos adicionar dados ao final do arquivo:

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

Exemplo

Gravação de array em arquivo:

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

Exemplo

No terceiro parâmetro é possível especificar várias bandeiras, listando-as através do símbolo |. Como exemplo, vamos acrescentar dados com bloqueio do arquivo:

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

Exemplo

Uso de contexto:

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=teste',
    false,
    $context
  );
?>

Veja também

  • a função file_get_contents,
    que lê o conteúdo de um arquivo
  • a função fopen,
    que abre um arquivo
  • a função fwrite,
    que escreve em um arquivo