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.