Publicando JSON em disco com PHP

Utilizando uma função nativa do PHP conseguimos publicar dados de forma rápida e segura.

Publicado em

São diversos os motivos que nos levam a salvar dados em discos, como um simples arquivo de texto ou JSON. No PHP, podemos utilizar diferentes mecanismos para obter o mesmo resultado, então sempre verifique quais recursos estão disponíveis para a sua versão.

É importante se atentar aos níveis de permissão no diretório de publicação, pois se o usuário padrão não tiver permissão para escrita, o processo poderá falhar. Em caso de problemas, entre em contato com o administrador do servidor.

Para o nosso exemplo, vamos converter um array de itens de mercado para um JSON, como mostra o exemplo abaixo.

<?php

$array = [
    'frutas' => [
        'Banana',
        'Maça'
    ],
    'carnes' => [
        'Bife',
        'Frango'
    ]
];

$json = json_encode($array);

Agora nos resta publicar o arquivo, para isso vamos utilizar a função file_put_contents, passando no primeiro parâmetro o diretório e nome do arquivo, enquanto no segundo devemos informar a nossa string JSON.

file_put_contents('resources/mercado.json', $json);

Podemos informar no terceiro parâmetro o tipo de flag, como:

  • FILE_USE_INCLUDE_PATH - Procura o arquivo filename nos diretórios de include;
  • FILE_APPEND - Se o arquivo filename já existir, acrescenta os dados no 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 flock() acontece entre a chamada fopen() e a chamada fwrite(). Utilizamos esse valor quando precisamos travar o arquivo para que ninguém possa utiliza-lo enquanto nós estamos salvando as informações.
file_put_contents('resources/mercado.json', $json, LOCK_EX);

Finalizamos aqui mais um breve e prático conteúdo. A gente se vê em breve.

Gunnar Correa
Gunnar Correa

Autodidata, Graduado em Desenvolvimento Web, Especialista em Tecnologias na Educação e Pós-graduando em Segurança da Informação. Começou seus estudos na área de programação quando era criança, e atualmente, está estudando desenvolvimento de jogos. Fundador da SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.

Todos os nossos cursos em promoção
Todos os nossos cursos em promoção

Webstories

Todos os nossos cursos em promoção

Todos os nossos cursos em promoção

Deixe um comentário
Aguarde...
Todos os nossos cursos em promoção