file_put_contents

(PHP 5, PHP 7, PHP 8)

file_put_contentsEscreve dados em um arquivo

Descrição

file_put_contents(
    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 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çõ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.

Warning

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.

Tip

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