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
Download

Capítulo II Armazenando e recuperando dados