Função file() para exibição de arquivos em PHP

Publicado por Keylly Eyglys em 09/07/2007

[ Hits: 12.784 ]

 


Função file() para exibição de arquivos em PHP



Muitos já se depararam com o problema de ter que imprimir um código em uma página HTML e ter que imprimir linha a linha e colocar a numeração de cada linha.

A maneira mais utilizada é com as funções fopen, fread, fclose e explode:

<?
$fp = fopen("source.php","r");
$conteudo = fread($fp,filesize("source.php"));
fclose($fp);

$arr = explode("\n",$conteudo);
foreach ($arr as $NLine => $line) {
echo ($NLine + 1)." ".$line;
}
?>

Lógico que esse "echo" pode ter qualquer outra coisa, pode estar dentro de uma tabela (para deixar mais organizado).

Mas o objetivo é mostrar como percorrer todas as linhas do arquivo sem precisar fazer tudo isso.

A maneira mais simples é utilizando a função file().

<?
$arr = file("source.php");
foreach ($arr as $NLine => $line) {
echo ($NLine + 1)." ".$line;
}
?>

A função file retorna um array com todas as linhas do arquivo (primeira linha com índice zero, segunda com índice 1, etc).

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Habilitando sintaxe colorida para arquivos PHP no Emacs

Orion - Extração e conversão de dados de arquivos texto e CSV

Mostrar mensagem aleatória (arquivo texto)

Eclipse 3.2, Ubuntu 6.10 e PHPEclipse

Corrigindo common.php do phpbb3

  

Comentários
[1] Comentário enviado por alexandrecorrea em 09/07/2007 - 04:51h

acho que a função show_source() tambem seria mais pratica :)

<?
show_source("arquivo.txt");
?>

[2] Comentário enviado por eyglys em 09/07/2007 - 21:46h

o show_source é melhor quando não deseja-se formatar (de acordo com as necessidades do layout) o código fonte, pois ele já vem formatado.

Mas em sites que o layout não seja tão importante, a função que vc apresentou resolve o problema todo com uma só linha, para os outros casos (uma formatação mais personalizada) teria que usar o file ou o fopen.

[3] Comentário enviado por mtutucv em 07/07/2008 - 15:31h

Muito Bom esta dica estava a precisar disso e penso que ajudara muitas pessoas

[4] Comentário enviado por eduardo.azevedo em 31/07/2008 - 12:52h

Não tenho como contribuir, mas tenho uma pergunta em relação a leitura de arquivos.
Sou iniciante, em meus testes ja consegui fazer a leitura de um arquivo e apresenta-lo em uma pagina, contudo eu gostaria de manipular a informação que quero que apareçe.
tipo.. quero que apereça em um determinado "form" uma posição e tamanho deste arquivo.
Você ja fez isto alguma vez ou sabe de alguem para me ajudar?

Um abraço.

[5] Comentário enviado por eyglys em 31/07/2008 - 23:03h

Não entendi o que quiz dizer com "Posição" do arquivo.
Para obter o tamanho do arquivo a função filesize irá resolver o seu problema.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts