Três ótimas formas de ler arquivos em PHP

Vez por outra, precisamos ler arquivos em PHP e a linguagem nos oferece formas simples e descomplicadas de realizar essas tarefas tão comuns. Apesar de normalmente usarmos fopen e compania, a linguagem PHP fornece outros mecanismos mais objetivos e práticas de ler arquivos. No artigo de hoje vou mostrar três ótimas formas de ler arquivos em PHP.

Como ler arquivos em PHP?

Iniciando pelo caminho mais básico, ler arquivos em PHP significa abrir um arquivo qualquer, realizar a leitura do seu conteúdo e fechar o respectivo arquivo. Para realizar tais tarefas, podemos fazer uso das funções fopen, feof, fgets e fclose.
Como funções mais básicas para ler arquivos em PHP, todo desenvolvedor tem por obrigação conhecer e saber utilizar essas funções. Abaixo segue uma breve descrição do que cada uma delas faz.

  • fopen: Abre um arquivo e retorna o identificador, ou resource, que aponta para o arquivo aberto. Como primeiro parâmetro, temos o endereço do arquivo que será lido, e como segundo parâmetro temos o modo de leitura.
  • fgets: Lê a linha de um arquivo, onde pode-se especificar um tamanho limite da linha lida na forma de bytes. Quando não for especificado o limite de leitura da linha, o PHP entende que o limite é de 1kb ou 1024 bytes. Em códigos de leitura de arquivos, o mais comum é utilizar 4kb ou 4096 bytes.
  • feof: Verifica se chegamos ao final do arquivo. Muito útil para leitura de arquivos linha a linha. Assim sabemos se terminamos de ler um arquivo ou não.
  • fclose: Fecha o arquivo aberto e libera os recursos necessário para a leitura do arquivo da memória.

Agora vamos ao código de exemplo:

Note que no código acima, abrimos um arquivo texto no modo somente leitura, indicado pelo segundo parâmetro da função fopen (r). Você pode utilizar os valores ‘r’ (somente leitura), ‘w’ (somente escrita) e ‘rw’ (leitura e escrita) como parâmetros da função fopen. Caso seu desejo seja realizar a leitura de arquivos binários, basta combinar os valores acima com ‘b’ (binary), ‘rb’, ‘wb’ ou ‘rwb’.
Outra informação importante para mencinar é o fato da função fopen também realizar a leitura de arquivos em URIs, como http:\www.phpmais.com\meu-arquivo.txt  ouhttp:\www.phpmais.com\pagina.php . Experimente trocar o nome do arquivo no código acima pelo endereço de um site qualquer.

Lendo arquivos em PHP com file_get_contents

Uma outra forma menos comum, mas bastante eficiente de ler arquivos em PHP é utilizar a função file_get_contents. Essa função abre o arquivo indicado, lê todo o conteúdo dele e fecha o arquivo atravês da chamada de uma única função. O código abaixo é equivalente ao código acima:

Se você deseja realizar a leitura do conteúdo de arquivos binários, não recomento este método de leitura de arquivos. Assim como as funções anteriores, file_get_contents também trabalha bem com URIs no lugar do nome do arquivo.

Lendo arquivos em PHP com a função file

Como última forma de ler arquivos em PHP, você vai encontrar a função file. Assim como file_get_contents, file lê todo o conteúdo de um arquivo, mas ao invés de retornar o texto, essa função retorna um array, onde cada item do array corresponde à uma linha do arquivo lido.
 

<?php
// lê o arquivo todo
// eliminando as quebras de linha
// do arquivo lido.
$arquivo = file(‘meu-arquivo.txt’, FILE_IGNORE_NEW_LINES);// imprime a terceira linha do arquivo
print $arquivo[3];
?>

 

Conclusão

Este foi mais um artigo sobre funções em PHP. Não se deixe levar pela facilidade ou complexidade dos métodos acima. Antes de tudo, use sua criatividade na hora de construir seus códigos e algoritmos em PHP.

Fonte: PHP+