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:
// Abre um arquivo somente para leitura
$id_arquivo = fopen(‘C:/meuarquivo.txt’,’r’);
// enquanto não chegar ao final do arquivo
while(!feof($id_arquivo)) {
// lê uma linha do arquivo
$linha = fgets($id_arquivo, 4096);
print $linha;
}// fecha o arquivo e libera recursos da memória
fclose($id_arquivo);
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:
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.
// 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+