130 likes | 265 Views
Capítulo II. Armazenando e recuperando dados. Armazenando e recuperando dados. Agenda Salvar dados Abrir um arquivo Criar e gravar Fechar Ler Bloquear Excluir. Armazenando e recuperando dados. Visão geral Gravando dados em arquivos Abrir arquivo
E N D
Capítulo II Armazenando e recuperando dados
Armazenando e recuperando dados • Agenda • Salvar dados • Abrir um arquivo • Criar e gravar • Fechar • Ler • Bloquear • Excluir
Armazenando e recuperando dados • Visão geral • Gravando dados em arquivos • Abrir arquivo • Se o arquivo não existir ainda, o mesmo deverá ser criado. • Gravar os dados no arquivo • Fechar o arquivo • Ler dados de um arquivo • Abrir arquivo • Caso o arquivo não exista, ou não possa ser aberto, exibir uma mensagem elegante. • Ler dados a partir do arquivo • Fechar o arquivo
Armazenando e recuperando dados • Abrindo um arquivo • Função fopen() • Retorna false quando falha a abertura de um arquivo. Caso contrário, retorna o ponteiro do arquivo aberto. • Function fopen(localArquivo,tipoOperacao) • localArquivo indica o diretorio onde se encontra o arquivo a ser aberto • tipoOperacao indica se o arquivo será aberto para leitura, ou escrita, ou ambos, etc... • Ex: $arq=fopen($_SERVER['DOCUMENT_ROOT'].”exemplo/arquivo.txt”,w); • $_SERVER['DOCUMENT_ROOT'] indica o endereço raiz de onde se encontra todas as aplicações desenvolvidas. • Cuidado ao usar a /(barra) para indicar diretórios, pois ocorre uma pequena alteração quando relacionada a windows e linux.
Armazenando e recuperando dados • Gravando em um arquivo • Função fwrite(ponteiroArquivo,variavelConteudo) • Função fputs(); //fputs é um Alias para fwrite • ponteiroArquivo indica a variável que aponta para o ponteiro retornado por pela função fopen. $arq=fopen($_SERVER['DOCUMENT_ROOT'].”exemplo/arquivo.txt”,w); fwrite($arq,”Php e Mysql”); • A estrutura a ser armazenada no arquivo depende da estrutura definida pela aplicação. • Um terceiro parâmetro (opcional) pode ser utilizado para indicar o tamanho de bytes a serem gravados.
Armazenando e recuperando dados • Fechando um arquivo • Função fclose(ponteiroArquivo) • ponteiroArquivo indica o ponteiro que está referenciando para o arquivo aberto. • Quando o arquivo é fechado corretamente, a função retorna o valor true, caso contrário retorna false; $arq=fopen($_SERVER['DOCUMENT_ROOT'].”exemplo/arquivo.txt”,w); fwrite($arq,”Php e Mysql”); fclose($arq);
Armazenando e recuperando dados • Lendo de um arquivo • Function fgets(ponteiroArquivo,tamanhoLeitura) • ponteiroArquivo indica o ponteiro que está referenciando para o arquivo aberto. $arq=fopen($_SERVER['DOCUMENT_ROOT'].”exemplo/arquivo.txt”,w); $text = fgets($arq,999); fclose($arq); • Function feof(ponteiroArquivo) • Indica se chegou ao final do arquivo • ponteiroArquivo indica o ponteiro que está referenciando para o arquivo aberto. • Retorna true se alcançou o final do arquivo, caso contrário retorna false. If(feof($arq) == true) echo “Final de arquivo”; Else echo “Contem registros.”;
Armazenando e recuperando dados • Lendo todo um arquivo, linha por linha $arq=fopen($_SERVER['DOCUMENT_ROOT'].”exemplo/arquivo.txt”,w); While(feof(arq) == false){ $text = fgets($arq,999); echo $text; } fclose($arq);
Armazenando e recuperando dados • Lendo todo um arquivo inteiro • Function readfile(localArquivo) • localArquivo indica o local onde se encontra o arquivo que será lido $arq=readfile($_SERVER['DOCUMENT_ROOT'].”exemplo/arquivo.txt”);
Armazenando e recuperando dados • Lendo todo um caracter • Functionfgetc • Ler caracter por caracter de um arquivo. while (!feof($fp)) { $char = fgetc($fp); if (!feof($fp)) echo ($char==”\n” ? ‘<br />’: $char); }
Armazenando e recuperando dados • Outras funções • File_exists • Verifica a existência de um arquivo • Filesize • Determina o tamanho do arquivo • Rewind • Reposiciona o arquivo no inicio • Fseek • Reposiciona o arquivo na posição determinada pelo usuário • Flock • Trava o arquivo impedindo que outro usuário manipule-o ao mesmo tempo.
Leitura complementar • Capítulo 2 • Livro base da disciplina