Curso de PHP: #18 - Lendo e Gravando arquivos

Curso de PHP: #18 - Lendo e Gravando arquivos

·

3 min read

Estou muito feliz em saber que você chegou até aqui, isso significa que você está bem determinado a aprender a programar e isso vale muito!

Agora que já aprendemos todo o básico sobre PHP, vamos aprender alguns recursos mais avançados para criar programas cada vez mais sofisticados.

Persistência de dados

Tudo que abrimos em nosso computador, seja: Vídeos, Documentos de texto, Planilhas, Jogos, etc. armazena informação na memória RAM, porém essa memória só armazena as informações enquanto nosso computador estar ligado. Se você reiniciar ou desligar seu computador, tudo que está na memória RAM será apagado. Mas pense comigo... Imagine se todos os saves dos seus jogos, todos os textos que você digitou, etc. fossem perdidos quando o computador fosse desligado ou reiniciado! Seria bem ruim né?

Por esse motivo algumas informações são armazenas no HD / SSD e não só na memória RAM. Essa gravação em uma unidade de disco ou unidade de estado sólido é chamada de persistência de dados.

Mas, como será que podemos gravar arquivos dinamicamente em nosso HD/SSD usando o PHP?

file_put_contents

A função file_put_contents abre um arquivo e escreve dados nele, porém se esse arquivo não existir ele será criado.

<?php

$caminhoArquivo = "listaDeFrutas.txt";
$dados = "Pera, Uva, Maçã";

file_put_contents($caminhoArquivo, $dados);

O primeiro parâmetro dessa função é o caminho para o arquivo, ou seja, o endereço onde o arquivo está ou onde será criado. Já o segundo parâmetro é uma string com os dados que serão gravados

Se você executou o código acima, verá que um novo arquivo foi criado em sua árvore de arquivos / diretórios.

image.png

Se você abrir o arquivo recém criado verá que o conteúdo dele é:

Pera, Uva, Maçã

Bacana, mas vamos criar um programa mais interessante

<?php

$inserindoElementos = true;
$frutas = [];
$caminhoArquivo = "listaDeFrutas.txt";

while($inserindoElementos) {
    $novoItem = readline("Informe o nome de uma fruta: ");

    if ($novoItem == "") {
        $inserindoElementos = false;
    }

    $frutas[] = $novoItem;
}

$dados = implode("\n", $frutas);

file_put_contents($caminhoArquivo, $dados);

Esse código usa apenas funções e comandos que já vimos ao longo desse curso. E ai, você consegue entender como esse código funciona? Se tiver dificuldades, comenta ai.

file_get_contents

A função file_get_contents abre um arquivo, lê o seu conteúdo e o retorna em formato de string.

Para testar essa função vamos criar um arquivo chamado ola.txt. Nesse arquivo vamos manualmente inserir o seguinte texto "Olá, bem-vindo ao Acampamento Dev".

Agora vamos ler esse arquivo

<?php

$texto = file_get_contents("ola.txt");

echo $texto;

O resultado será:

Olá, bem-vindo ao Acampamento Dev

E ai curtiu? Já pensou na quantidade de coisas que é possível fazer com todo o conhecimento que você já adquiriu nesse curso?

Então vamos por mais coisas em prática

Desafio

Crie um programa que solicite do usuário:

  • Nome do arquivo a ser gravado
  • Vários nome de pessoas que serão armazenadas num array $convidados

E por fim crie um arquivo seguindo essa estrutura

Lista de convidados =+=+=+=+=

- Paulo Reis
- Maria Silva
- Carla Amaral
- Juliana Santos

=+=+=+=+=+=+=+=+=+=+=+=+

Crie um outro programa que consiga ler esse arquivo recem criado e que imprima na tela

Convidados: Paulo Reis, Maria Silva, Carla Amaral, Juliana Santos

Até a próxima, escoteiro!!!