Abertura/Leitura/Fechamento de Arquivo PHP
- Página anterior Arquivos PHP
- Próxima página Criação/escrita de arquivos PHP
Nesta seção, explicamos como abrir, ler e fechar arquivos no servidor.
Abrir Arquivo PHP - fopen()
A melhor maneira de abrir um arquivo é através da função fopen(). Esta função oferece mais opções do que a função readfile().
No curso, usaremos o arquivo de texto "webdictionary.txt":
AJAX = JavaScript e XML Assíncronos CSS = Folhas de Estilo em Cascata HTML = Linguagem de Marcação de Hipertexto PHP = Processador de Hipertexto PHP SQL = Linguagem de Consulta Estruturada SVG = Gráficos Vetoriais Escaláveis XML = Linguagem de Marcação Extensível (EXtensible Markup Language)
O primeiro parâmetro da função fopen() contém o nome do arquivo a ser aberto, o segundo parâmetro define o modo de abertura do arquivo. Se a função fopen() não puder abrir o arquivo especificado, o exemplo a seguir gerará uma mensagem:
Exemplo
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); echo fread($myfile, filesize("webdictionary.txt")); fclose($myfile); ?>
Dica:A seguir, vamos aprender sobre as funções fread() e fclose().
O arquivo será aberto com um dos seguintes modos:
Modo | Descrição |
---|---|
r | Abre o arquivo para leitura exclusiva. O ponteiro de arquivo começa no início do arquivo. |
w | Abre o arquivo para escrita exclusiva. O conteúdo do arquivo será excluído ou um novo arquivo será criado, se ele não existir. O ponteiro de arquivo começa no início do arquivo. |
a | Abre o arquivo para escrita exclusiva. Os dados existentes no arquivo serão mantidos. O ponteiro de arquivo começa no final do arquivo. Cria um novo arquivo, se ele não existir. |
x | Cria um novo arquivo para escrita exclusiva. Retorna FALSE e erro, se o arquivo já existir. |
r+ | Abre o arquivo para leitura/escrita, com o ponteiro de arquivo começando no início do arquivo. |
w+ | Abre o arquivo para leitura/escrita. O conteúdo do arquivo será excluído ou um novo arquivo será criado, se ele não existir. O ponteiro de arquivo começa no início do arquivo. |
a+ | Abre o arquivo para leitura/escrita. Os dados existentes no arquivo serão mantidos. O ponteiro de arquivo começa no final do arquivo. Cria um novo arquivo, se ele não existir. |
x+ | Cria um novo arquivo para leitura/escrita. Retorna FALSE e erro, se o arquivo já existir. |
PHP lê arquivo - fread()
A função fread() lê o arquivo aberto.
O primeiro parâmetro da função fread() contém o nome do arquivo a ser lido, o segundo parâmetro define o número máximo de bytes a serem lidos.
O seguinte código PHP lê o arquivo "webdictionary.txt" até o final:
fread($myfile, filesize("webdictionary.txt"));
PHP fecha arquivo - fclose()
A função fclose() é usada para fechar arquivos abertos.
Observação:Fechar todos os arquivos após usá-los é um bom hábito de programação. Você não deseja que arquivos abertos consumam recursos do seu servidor.
A função fclose() requer o nome do arquivo a ser fechado (ou uma variável que contém o nome do arquivo):
<?php $myfile = fopen("webdictionary.txt", "r"); // algum código a ser executado... fclose($myfile); ?>
PHP lê uma linha de arquivo - fgets()
A função fgets() é usada para ler uma linha de um arquivo.
A seguinte saída imprime a primeira linha do arquivo "webdictionary.txt":
Exemplo
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); echo fgets($myfile); fclose($myfile); ?>
Observação:Após a chamada da função fgets(), o ponteiro do arquivo se move para a próxima linha.
Verificação de End-Of-File PHP - feof()
A função feof() verifica se já atingiu o "final do arquivo" (EOF).
feof() é muito útil para percorrer dados de comprimento desconhecido.
O exemplo a seguir lê o arquivo "webdictionary.txt" linha a linha até o final do arquivo:
Exemplo
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); // Output de linha única até o final do arquivo while(!feof($myfile)) { echo fgets($myfile) . "<br>"; } fclose($myfile); ?>
Leitura de caractere único PHP - fgetc()
A função fgetc() é usada para ler um caractere único do arquivo.
O exemplo a seguir lê o arquivo "webdictionary.txt" caracter a caracter até o final do arquivo:
Exemplo
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); // Output de caractere único até o final do arquivo while(!feof($myfile)) { echo fgetc($myfile); } fclose($myfile); ?>
Observação:Após a chamada da função fgetc(), o ponteiro do arquivo se move para o próximo caractere.
Manual de referência Filesystem PHP
Para obter o manual de referência completo do Filesystem PHP, acesse o que é fornecido pelo CodeW3C.com Manual de referência Filesystem PHP.
- Página anterior Arquivos PHP
- Próxima página Criação/escrita de arquivos PHP