Função php file_put_contents

Função php file_put_contents
Muitas funções existem no PHP para escrever conteúdo no arquivo. A função file_put_contents () é uma delas. É usado para escrever qualquer dados de string em um arquivo. Se o arquivo existir, essa função substituirá o conteúdo anterior com os novos dados da string ou anexará a string no final do arquivo. Se o arquivo não existir, um novo arquivo será criado automaticamente com o valor da string. A sintaxe desta função é dada abaixo.

Sintaxe:

Int | false file_put_contents (string $ filename, mixed $ dados [, int $ flags = 0 [, recurso $ context]])

O primeiro argumento é obrigatório e é usado para definir o nome do arquivo onde os dados serão escritos.

O segundo argumento é obrigatório e usado para definir os dados escritos no arquivo.

O terceiro argumento é opcional, que é usado para definir a abertura do arquivo ou escrevendo os dados. Qualquer um dos seguintes valores pode ser usado neste argumento.

File_use_include_path:
É usado a pesquisa no arquivo no diretório de incluir.

File_append:
Se o arquivo existir, é usado para adicionar os dados no final do arquivo.

LOCK_EX:
É usado para definir o bloqueio exclusivo no arquivo ao escrever.

O Quarto argumento é opcional e usado para definir o comportamento do fluxo ou o contexto para lidar com o arquivo.

A função retorna O número de caracteres gravados no arquivo e retorna false se nenhum dado for gravado no arquivo

Exemplos de função file_put_contents ()

Diferentes usos da função file_put_contents () foram mostrados na próxima parte deste tutorial usando vários exemplos. Você definiu as permissões de leitura e gravação necessárias para a pasta onde o arquivo estará localizado antes de praticar os exemplos deste tutorial; Caso contrário, a permissão negado o erro ocorreria. Execute o seguinte comando para definir toda a permissão para a pasta, '/var/www/html/php'.

$ sudo chmod -r 777/var/www/html/php

Exemplo 1: Escreva/substitua o conteúdo em um arquivo

Crie um arquivo php com o seguinte script que escreverá um texto em um arquivo de texto localizado dentro da pasta, '/var/www/html/php'. Se o Temp.TXT O arquivo existe antes, então o File_put_Contents () substituirá o conteúdo do arquivo. Se o Temp.TXT O arquivo não existe, então a função File_put_Contents () criará o arquivo automaticamente antes de escrever. Em seguida, a função file_get_contents () é usada no script para verificar se o texto foi escrito corretamente no arquivo ou não.

// Defina o nome do arquivo
$ filename = "Temp.TXT";
// Defina o valor da string
$ str = "Adicionando conteúdo ao arquivo.";
// Escreva conteúdo no arquivo
File_put_contents ('/var/www/html/php/'.$ fileName, $ str) ou print_r (error_get_last ());
// Verifique se o arquivo existe ou não
if (file_exists ($ filename))

eco "o conteúdo do arquivo:
";
// imprima o conteúdo do arquivo
eco file_get_contents ($ filename);

?>

Saída:

A saída a seguir seria apareceu após a execução do script acima se o texto fosse escrito corretamente no arquivo.

Exemplo-2: Anexar dados em um nome de arquivo existente

Crie um arquivo php com o seguinte script que anexará um texto com a nova linha em um arquivo de texto existente localizado dentro da pasta, '/var/www/html/php'. O File_append e LOCK_EX As opções são usadas no terceiro argumento da função file_put_contents () para anexar o texto ao Temp.TXT arquivo. Em seguida, a função file_get_contents () é usada no script para verificar se o texto foi escrito corretamente no arquivo ou não.

// Defina o nome do arquivo
$ filename = "Temp.TXT";
// Verifique se o arquivo existe ou não
if (file_exists ($ filename))

eco "o conteúdo do arquivo antes de anexar:
";
// imprima o conteúdo do arquivo
eco file_get_contents ($ filename);
// Defina o valor da string
$ str = "Anexando novo conteúdo ao arquivo.\ n ";
// Escreva conteúdo no arquivo
File_put_contents ('/var/www/html/php/'.$ FILENAME, $ STR, FILE_APPEND | Lock_Ex) ou print_r (error_get_last ());
eco "
O conteúdo do arquivo após o apego:
";
// imprima o conteúdo do arquivo
eco file_get_contents ($ filename);

?>

Saída:

A saída a seguir seria apareceu após a execução do script acima se o texto fosse anexado corretamente no arquivo.

Exemplo-3: Escreva/substitua o conteúdo do arquivo usando FILE_USE_INCLUDE_PATH

Você tem que ativar o incluir_path Diretiva no php.ini arquivo para uso o file_use_include_path Opção, o terceiro argumento da função FILE_PUPT_CONTENTS (). Abra o php.ini Arquive e remova o semicolon (;) da frente da linha seguinte.

incluir_path = ".:/usr/share/php "

Execute o seguinte comando do terminal para reiniciar o servidor Apache depois de alterar o php.ini arquivo.

$ sudo serviço apache2 reiniciar

Crie um arquivo php com o seguinte script que escreverá/substituirá o texto com a nova linha em um arquivo de texto existente chamado meu arquivo.TXT que está localizado no local definido em incluir_path diretivo. Em seguida, a função file_get_contents () foi usada no script para verificar se o texto foi escrito corretamente no arquivo ou não.

// Defina o nome do arquivo
$ filename = "myfile.TXT";
// Defina o valor da string
$ str = "Escrevendo dados em um arquivo usando file_put_contents ().\ n ";
// Escreva conteúdo no arquivo
file_put_contents ($ filename, $ str, file_use_include_path) ou die ("Não é possível abrir o arquivo.");
eco "o conteúdo do arquivo:
";
// imprima o conteúdo do arquivo
eco file_get_contents ($ filename, true);
?>

Saída:

A saída a seguir seria apareceu após a execução do script acima se o texto fosse escrito corretamente no arquivo.

Exemplo-4: Escreva em um arquivo criando um diretório

Crie um arquivo php com o seguinte script que escreverá/substituirá o texto com a nova linha em um arquivo de texto chamado teste.TXT Localizado dentro do diretório chamado 'temporário'Usando uma função definida pelo usuário nomeada Escrevantofile(). Esta função criará o diretório se o diretório não existir no local atual antes de escrever no arquivo. Em seguida, a função file_get_contents () é usada no script para verificar se o texto foi escrito corretamente no arquivo ou não.

// Defina para funcionar para gravar no arquivo criando diretório se não existe
função writeIntofile ($ dir, $ arquivo, $ dados)
// Crie o diretório, se não existir
se(!is_dir ($ dir))
mkdir ($ dir);
// Escreva dados no arquivo
file_put_contents ("$ DIR/$ FILE", $ dados);

// inicialize as variáveis ​​necessárias
$ diretório = 'temporário';
$ filename = 'teste.TXT';
$ str = 'conteúdo do arquivo de teste.';
// Ligue para a função para gravar no arquivo
WriteIntofile ($ diretório, $ filename, $ str);
// Verifique se o arquivo existe ou não
if (file_exists ("$ diretório/$ filename")))

eco "o conteúdo do arquivo:
";
// imprima o conteúdo do arquivo
echo file_get_contents ("$ diretório/$ filename");

?>

Saída:

A saída a seguir seria apareceu após a execução do script acima se o texto fosse escrito corretamente no arquivo.

Conclusão

Diferentes maneiras de escrever conteúdo em um arquivo usando a função File_put_Contents () foram mostradas nos exemplos deste tutorial para ajudar os usuários do PHP a aplicar essa função corretamente em seu script.