Hai unha chea de método para ler o contido dun ficheiro, xa aberto para lectura:

$id = fopen("ficheiro.txt","r");

while (!feof($id))
	echo fgets($id)."<br />";

echo ftell($id)."<br />";
fseek($id,0);
while (!feof($id))
	echo fread($id,2);		

echo ftell($id)."<br />";
rewind($id);
while (($letra = fgetc($id)) !== FALSE)
	echo $letra;	

$liñas = file("ficheiro.txt");
foreach ($liñas as $liña)
	echo $liña . "<br />";		

readfile("ficheiro.txt");

echo file_get_contents("ficheiro.txt");
fclose($id);
  • fgetc: Obtén un carácter dende a posición actual do punteiro, e móveo un byte cara adiante
  • fgets: Obtén unha cadea dende a posición actual do punteiro ata o seguinte salto de liña atopado, e move o punteiro ata o seguinte byte ao salto de liña
  • fgetss: Igual que a anterior pero elimina da cadea todas as etiquetas HTML e código PHP
  • fread: Obtén unha cadea dende a posición actual do punteiro ata o número de bytes indicados ou o final do ficheiro, e move o punteiro ata o seguinte byte ao último devolto
  • file: Devolve un array que contén en cada elemento unha liña do ficheiro indicado. Esta función recibe como primeiro parámetro o nome do ficheiro e non o identificador deste, polo que non é necesarioabrir o ficheiro con fopen antes de empregar esta función.
  • readfile: Envia a saída estandar (navegador) o contido do ficheiro. Esta función recibe como primeiro parámetro o nome do ficheiro.
  • file_get_contents: Devolve un string que contén o contido do ficheiro. Esta función recibe como primeiro parámetro o nome do ficheiro.
  • Para movernos polo ficheiros dispoñemos das seguintes funcións:

  • ftell(): Indícanos en que byte está posicionados o punteiro
  • fseek(): Posiciona o punteiro no byte indicado
  • rewind(): Posiciona o punteiro no byte 0
  • feof(): Devolve True cando o punteiro alcanza o final do ficheiro