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
Função fopen()
um arquivo
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
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.t
xt”);
ARMAZENANDO E RECUPERANDO DADOS
Lendo todo um caracter
Function fgetc
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
Filesize
Reposiciona o arquivo no inicio
Fseek
Determina o tamanho do arquivo
Rewind
Verifica a existência de um arquivo
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