NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalTutoriaisJuliosabreu : Scrapbook001
Quer receber novidades e e-books gratuitos?

FILTRO DE TUTORIAIS:


Utilizando Arquivos – Criando um Scrap Book

 

Objetivos:

 

Neste tutorial aprenderemos como utilizar arquivos para armazenar dados, bem como edita-los e exclui-los. Veremos um exemplo prático com a criação de uma aplicação simples de agenda de contatos utilizando todos os recursos aprendidos até aqui.

 

Pré-requisitos: Ter acompanhado os tutoriais anteriores da série.

 

Arquivos

 

Em PHP é possível acessar arquivos locais e remotos, neste tutorial vamos nos limitar a arquivos que estão no nosso próprio servidor de teste.

 

Atenção! – Como nosso ambiente de teste é windows, não precisamos nos preocupar com permissões, mas devemos considerar isto quando utilizamos um servidor Unix (o mais comum na internet) e dar as permissões corretas para os arquivos que vamos utilizar (leitura, escrita ...)

 

Abrindo Arquivos

 

Para manipular arquivos utilizaremos diversas funções do PHP, a primeira delas é fopen, que abre um “ponteiro” para o arquivo específico, ou seja cria um identificador para o arquivo que será utilizado em outras funções.

Sintaxe:

 

int fopen(string arquivo, string modo de abertura, int [use_include_path]);

 

No caso de erro a função fopen retorna false.

 

O primeiro parâmetro passado é o caminho do arquivo. Mas lembre-se este caminho é em relação ao script que está sendo executado, por exemplo, se o script está na raiz do site e o arquivo a ser aberto está na pasta raiz\arquivos então devemos passar “arquivos\nome.txt”.

 

Podemos abrir os arquivos de acordo com a função executaremos, esta opção é selecionada no modo de abertura, que passamos como segundo parâmetro, são eles:

 

r Abre o arquivo apenas para leitura
r+ Abre o arquivo para leitura e escrita e posiciona o ponteiro no início do mesmo
w Abre o arquivo para escrita. Se o arquivo já existir o mesmo é sobreposto, se não, o PHP tenta criá-lo.
w+ Abre o arquivo para escrita e leitura. Se o arquivo já existir o mesmo é sobreposto, se não, o PHP tenta criá-lo.
a Abre o arquivo para escrita. Se o arquivo já existir o ponteiro é posicionado no fim do mesmo, se não, o PHP tenta criá-lo.
a+ Abre o arquivo para leitura e escrita. Se o arquivo já existir o ponteiro é posicionado no fim do mesmo, se não, o PHP tenta criá-lo.

 

O terceiro parâmetro (use_include_path), deve ser setado como 1 ou 0 para determinar se você quer utilizar o path parametrizado no arquivo php.ini para procurar o arquivo.

 

Exemplo:

 

Supondo que tenhamos um arquivo nomeado “cidades.txt” no mesmo diretório do script e queremos abri-lo somente para leitura, então devemos chamar a função da seguinte maneira:

 

 

A variável $arquivo está apontando para o arquivo “cidades.txt” no modo somente leitura.

 

Medindo Arquivos

 

O tamanho do arquivo pode ser muito útil é um dado muito útil e necessário em outras funções, podemos medi-lo utilizando a função filesize da seguinte maneira:

 

int filesize(string arquivo);

 

O parâmetro passado é o caminho do arquivo, exatamente como passamos para a função fopen.

 

Exemplo:

 

Vamos medir o tamanho do arquivo “cidades.txt”:

 

 

A variável $tam recebe o tamanho do arquivo cidades.txt.

 

Atenção! Por serem mais pesadas o PHP guarda o resultado de algumas funções de manipulação de arquivos, como filesize e file_exists, em um cache. Portanto se pretendemos utilizar arquivos que são alterados constantemente devemos sempre limpar este cache utilizando a função clearstatcache da seguinte forma:

 

void clearstatcache();

 

*void significa que a função não tem retorno. Exemplo:

 

 

Verificando a existência de Arquivos

 

Para evitar erros ou tratá-los, em alguns casos é necessário saber se um determinado arquivo existe, para isto utilizamos a função file_exists da seguinte maneira:

 

int file_exists(string arquivo);

 

Esta função retorna true ou false, podendo ser utilizada em um comando IF, por exemplo:

 

 

Verifica se o arquivo existe, em caso positivo abre para leitura em caso negativo mostra a mensagem de erro.

 

Lendo Arquivos

 

Para ler o conteúdo de um arquivo utilizamos a função fread com a seguinte sintaxe:

 

String fread(int fp, int size);

 

O primeiro parâmetro passado é o identificador do arquivo (retornado pela função fopen), o segundo é a quantidade de caracteres a serem lidos, se for especificado um tamanho maior que o arquivo, o arquivo é lido até o fim e não é gerado nenhum erro, mas para esta finalidade é muito útil o uso da função filesize.

 

Exemplo:

 

Vamos abrir o arquivo “cidades.txt” para leitura e atribuir seu conteúdo a uma variável:

 

 

Uma função muito útil para leitura de arquivos de texto é a função file(), pois ela lê todo o conteúdo do arquivo e retorna um array onde cada posição é uma linha do arquivo. Sua sintaxe é simple:

 

file(string arquivo, int use_include_path);

 

Exemplo:

 

 

Perceba que não é necessário abrir o arquivo, e cada linha do arquivo fica em uma posição do array $texto, por exemplo:

 

$texto[0] = 1ª linha do arquivo

$texto[1] = 2ª linha do arquivo

$texto[2] = 3ª linha do arquivo

$texto[3] = 4ª linha do arquivo ...

 

Escrevendo em Arquivos

 

Para escrever em um arquivo devemos sempre lembrar de abri-lo em um modo que permita escrita (w,w+,a,a+), e depois utilizar a função fwrite que escreve no arquivo a partir de onde o ponteiro estiver. Sintaxe:

 

int fwrite (int fp, string conteudo, int size);

 

O primeiro parâmetro passado é o identificador do arquivo, o segundo é a string que será escrita, e o terceiro o tamanho da string. Se o tamanho for menor que a string passada, só parte restante não será escrita.

 

Exemplo:

 

 

Perceba que como terceiro parâmetro passamos a função strlen(), que retorna exatamente o tamanho da string, garantindo a escrita por inteiro.

Obs.: Para escrever uma quebra de linha utilizamos “\n”.

 

Andando com o Ponteiro no Arquivo

 

Para movimentar o ponteiro pelo arquivo utilizamos a função fseek com a seguinte sintaxe:

 

fseek(int fp, int posicao);

 

Onde o primeiro parâmetro é o identificador do arquivo e o segundo é a posição para onde o ponteiro deve ir.

Exemplo:

 

 

Desta maneira mandamos o ponteiro para a posição 0 do arquivo, ou seja para o seu início.

 

Fechando Arquivos

 

Após manipularmos algum arquivo, devemos fecha-lo, ou seja fechar o seu identificador. Sintaxe:

 

fclose (int fp);

 

Onde o parâmetro passado é o identificador do arquivo a ser fechado.

Exemplo:

 

 

Criando um ScrapBook (Livro de Recados)

 

Para implementação de um ScrapBook bem simples, vamos criar duas páginas, uma pricipal onde serão exibidos os recados deixados e faremos a inserção de novos e uma onde ficará o script que processa e escreve estes recados no arquivo. Criaremos também um arquivo txt vazio nomeado “banco.txt”, onde escreveremos e armazenaremos os recados.

 

Vamos começar pela pagina principal:

 

Construir uma estrutura html normal e um título para onde ficarão os recados:

 

 

Após este título colocaremos o conteúdo do arquivo. Para isso utilizaremos a função file() para atribuir o conteúdo do arquivo a um array e depois utilizaremos um comando de repetição para que possamos imprimir na tela cada uma das linhas do array:

 

 

Perceba que utilizamos a função sizeof() que mede o número de posições do array, portanto o comando de repetição for vai incrementar a variável $i de 0 até o tamanho do array.

Desta forma vamos imprimir linha a linha do array.

 

Logo após podemos colocar um form para inserção de novos recados. Este form submeterá as variáveis para a página processa.php, que criaremos a seguir.

 

 

A página principal está pronta.

 

Partindo para a página processa.php, não é necessário inserir nenhum tag html, já que esta página não será exibida. Então criaremos o código que escreve as variáveis recebidas no arquivo ‘banco.txt”

 

 

Percebam que para concatenar as strings utilizamos “.”(ponto).

 

Este exemplo é bem simples mas pode se facilmente melhorado, pode-se adicionar tags html na string escrita para melhorar o visual dos recados, adicionar mais campos ao form e etc.

 

Conclusão:

 

Neste tutorial mostramos como utilizar as principais funções de manipulação de arquivos, suas particularidades e parâmetros. Vimos também um exemplo prático da utlização de forms e de armazenagem de dados em arquivo texto.

Quer receber novidades e e-books gratuitos?

 
 

Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

Todos os direitos reservados, Júlio Battisti 2001-2024 ®

LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO

DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI