file_put_contents
PHP Manual
PHP Manual»Funções de Filesystem»file_put_contents

file_put_contents

(PHP 5, PHP 7, PHP 8)

file_put_contents — Escreve dados em um arquivo

Descrição

function 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 será criado. Do contrário, o arquivo existente será sobrescrito, a não ser que a opção FILE_APPEND esteja 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().

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ções disponíveis
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".

context

Um recurso de contexto válido criado com stream_context_create().

Valor Retornado

Esta função retorna o número de bytes que foram escritos no arquivo ou false em caso de falha.

Aviso

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.

Examples

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);
?>

Notas

Nota:

Esta função é compatível com dados binários.

Dica

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.

Veja também

To Top