sábado, 8 de noviembre de 2014

PHP (08) Archivos (02) Recorrido lectura y cierre de un archivo (feof, fgets, fclose)

Una vez que hemos abierto nuestro archivo, tenemos que recorrerlo línea a línea para que se pueda mostrar, para ello vamos a utilizar una función llamada feof() y un bucle while.
Cuando el archivo llega al final la función devuelve TRUE y es cuando termina el bucle de la siguiente forma:
<?php
$handle = fopen("archivo/file.txt", "r");
if($handle){
 echo 'El archivo se ha abierto correctamente';
 while (!feof($handle)){
  ...//aqui va el código que queremos que realice.
 }
}else{
 echo 'ERROR AL ABRIR EL ARCHIVO';
}

?>

Si el bucle no tiene un archivo capturado el bucle será infinito, pero si tiene un archivo capturado terminará una vez termine de recorrerlo.
A pesar de esto, aun no estamos mostrando nada por pantalla, ahora necesitamos recorrer el archivo línea a línea e ir mostrándolo, para ello vamos a crear una variable llamada $texto, la cual va a guardar una función fgets() que tendrá como argumento nuestro archivo, y después mostraremos por pantalla línea a línea, con un simple echo nuestro texto:
<?php
$handle = fopen("archivo/file.txt", "r");
if($handle){
 echo '<p>El archivo se ha abierto correctamente</p>';
 while (!feof($handle)){
  $texto = fgets($handle);
  echo $texto . ' ';
 }
}else{
 echo 'ERROR AL ABRIR EL ARCHIVO';
}
?>

Esto nos da como resultado la lectura de nuestro archivo:
El archivo se ha abierto correctamente
Este es el archivo de prueba 

Pero aun queda cerrar el archivo con la función fclose() que recibe como argumento el archivo, de este modo se liberan recursos, se asegura de que no haya fallos o interferencias de código... de este modo podemos observar como justo después del bucle while aparece: fclose($handle);
<?php
$handle = fopen("archivo/file.txt", "r");
if($handle){
 echo '<p>El archivo se ha abierto correctamente</p>';
 while (!feof($handle)){
  $texto = fgets($handle);
  echo $texto . ' ';
 }
 fclose($handle);
}else{
 echo 'ERROR AL ABRIR EL ARCHIVO';
}
?>


De esta forma tan sencilla podemos abrir leer y cerrar archivos.

No hay comentarios:

Publicar un comentario