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
file_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
$res = file_put_contents('data.txt', 'abcde');
echo $res;
?>
O resultado da execução do código retorna o número de bytes gravados:
5
Exemplo
Vamos adicionar dados ao final do arquivo:
<?php
$res = file_put_contents('data.txt', '12345', FILE_APPEND);
echo $res;
?>
Exemplo
Gravação de array em arquivo:
<?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
$res = file_put_contents(
'log.txt',
"texto",
FILE_APPEND | LOCK_EX
);
echo $res;
?>
Exemplo
Uso de contexto:
<?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