file_put_contents
(PHP 5, PHP 7, PHP 8)
file_put_contents — Escreve dados em um arquivo
Descrição
string
$filename
,mixed
$data
,int
$flags
= 0,?resource
$context
= null
): int|false
Esta 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 é criado. Do
contrário, o arquivo existente é sobrescrito, a não ser que a opção
FILE_APPEND
seja definida.
Parâmetros
filename
-
O caminho para o arquivo onde os dados serão escritos.
data
-
Os 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().Você também pode especificar o parâmetro
data
como um array unidimensional. Isso é equivalente afile_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ções disponíveis Opção Descrição FILE_USE_INCLUDE_PATH
Procura o arquivo filename
nos diretórios de include. Consulte include_path para mais informações.FILE_APPEND
Se o arquivo filename
já existir, acrescenta os dados ao arquivo ao invés 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". context
-
Um recurso de contexto válido criado com stream_context_create().
Valor Retornado
Esta função retorna a quantidade de bytes que foi escrita 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.
Exemplos
Example #1 Exemplo de uso simples
<?php
$file = 'people.txt';
// Abre o arquivo para obter o conteúdo existente
$current = file_get_contents($file);
// Acrescenta a nova pessoa no arquivo
$current .= "John Smith\n";
// Escreve o conteúdo de volta no arquivo
file_put_contents($file, $current);
?>
Example #2 Usando flags
<?php
$file = 'people.txt';
// A nova pessoa para adicionar no arquivo
$person = "John Smith\n";
// Escreve o conteúdo no arquivo,
// usando a flag FILE_APPEND para acrescentar o conteúdo no fim do arquivo
// e a flag LOCK_EX para evitar que outra pessoa escreva no arquivo ao mesmo tempo
file_put_contents($file, $person, FILE_APPEND | LOCK_EX);
?>
Notas
Note: 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 wrappers 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 wrapper, notas de uso e informações sobre quaisquer variáveis predefinidas que eles possam fornecer.
Veja Também
- fopen() - Abre um arquivo ou URL
- fwrite() - Escrita binary-safe em arquivos
- file_get_contents() - Lê todo o conteúdo de um arquivo para uma string
- stream_context_create() - Cria um contexto de fluxo