1
resposta

[Projeto] [PHP: Evolua seu conhecimento e organize seu código] - Ajuste para não reescrever os filmes.

Fiz um pequeno ajuste para não sobreescrever o arquivo json existente.

<?php

$filme = [
    'nome' => $_POST['nome'],
    'anoLancamento' => $_POST['anoLancamento'],
    'nota' => $_POST['nota'],
    'genero' => $_POST['genero']
];

if (file_exists('filmes.json')) {
    $conteudoArquivo = file_get_contents('filmes.json');
    $filmes = json_decode($conteudoArquivo, true);

    if (!$filmes) {
        $filmes = [];
    }
} else {
    $filmes = [];
}

$filmes[] = $filme;

file_put_contents('filmes.json', json_encode($filmes, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));

header('Location: /sucesso.php?filme=' . $filme['nome']);

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Alex! Como vai?

Parabéns pela resolução da atividade!

Vi que você explorou o file_put_contents para salvar dados com PHP, utilizou muito bem o json_decode para organizar informações e ainda compreendeu a importância do file_exists para verificar arquivos.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Uma dica interessante para o futuro é validar se o arquivo está acessível em modo de escrita antes de salvar. Assim:

if (is_writable('filmes.json')) {
    file_put_contents('filmes.json', json_encode($filmes, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));
}

Isso faz uma checagem extra de segurança antes de gravar os dados.

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Ah, uma pergunta: Você acha mais interessante validar permissões de escrita antes de salvar ou implementar logs para acompanhar cada inserção no arquivo JSON?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!