(PHP 5, PHP 7, PHP 8)
file_put_contents — Escreve dados em um arquivo
$filename,$data,$flags = 0,$context = nullEsta função é idêntica a chamar fopen(), fwrite() e fclose() sucessivamente para escrever dados em um arquivo.
Se o arquivo informado em filename não existir, o arquivo será criado. Do
contrário, o arquivo existente será sobrescrito, a não ser que a opção
FILE_APPEND esteja definida.
filenameO caminho para o arquivo onde os dados serão escritos.
dataOs dados a serem escritos. Pode ser uma string, um array ou um recurso stream.
Se data for um recurso stream, o
buffer restante desse fluxo será copiado para o arquivo especificado,
semelhante à utilização de stream_copy_to_stream().
Também pode ser especificado o parâmetro data como
um array unidimensional. Isso é equivalente a
file_put_contents($filename, implode('', $array)).
flags
O valor de flags pode ser qualquer combinação das
seguintes opções, adicionadas com o operador binário OR
(|).
| Opção | Descrição |
|---|---|
FILE_USE_INCLUDE_PATH
|
Procura o arquivo filename no diretório de
'include'. Consulte include_path
para mais informações.
|
FILE_APPEND
|
Se o arquivo filename já existir, acrescenta
os dados ao final do arquivo em vez de sobrescrevê-lo.
|
LOCK_EX
|
Adquire uma trava exclusiva no arquivo ao prosseguir para a escrita. Em outras palavras, uma chamada a flock() acontece entre a chamada fopen() e a chamada fwrite(). Isso não é idêntico à uma chamada fopen() com modo "x". |
contextUm recurso de contexto válido criado com stream_context_create().
Esta função retorna o número de bytes que foram escritos no arquivo ou
false em caso de falha.
Esta função pode
retornar o valor booleano false, mas também pode retornar um valor não booleano que pode ser
avaliado como false. Leia a seção sobre Booleanos para mais
informações. Use o operador
=== para testar o valor retornado por esta
função.
Exemplo #1 Exemplo de uso simples
<?php
$file = 'pessoas.txt';
// Abre o arquivo para obter o conteúdo existente
$current = file_get_contents($file);
// Acrescenta a nova pessoa no arquivo
$current .= "Fulano de Tal\n";
// Escreve o conteúdo de volta no arquivo
file_put_contents($file, $current);
?>Exemplo #2 Usando opções
<?php
$file = 'pessoas.txt';
// A nova pessoa para adicionar no arquivo
$person = "Cicrano de Tal\n";
// Escreve o conteúdo no arquivo
// usando a opção FILE_APPEND para acrescentar o conteúdo ao final do arquivo
// e a opção LOCK_EX para evitar que outra pessoa escreva no arquivo ao mesmo tempo.
file_put_contents($file, $person, FILE_APPEND | LOCK_EX);
?>Nota:
Esta função é compatível com dados binários.
Uma URL pode ser usada como um nome de arquivo com esta função se os empacotadores fopen estiverem habilitados. Consulte a função fopen() para mais detalhes sobre como especificar o nome do arquivo. Consulte os Protocolos e empacotadores suportados para obter links para informações sobre as capacidades de cada empacotador, notas de uso e informações sobre quaisquer variáveis predefinidas que eles possam fornecer.